@charset "UTF-8";
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
*{
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
     min-width: 0;
    min-height: 0;
}
*:before,
*:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
html {
    font-size: 62.5%;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}
nav ul {
    list-style:none;
}
blockquote, q {
    quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}
a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align: baseline;
    background:transparent;
    text-decoration: none;
    cursor: pointer;
}
body{
    font-size: 1.6rem;
    line-height: 2;
    color: #000000;
    font-family: "Noto Sans", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
    word-break: break-word;
    font-weight: 400;
}
.NotoSans {
    font-family: "Noto Sans", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
}
.NotoSerif {
    font-family: "Noto Serif JP", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", serif;
}
.LexendDeca {
    font-family: "Lexend Deca","Noto Sans", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
}
/*remove highlight color touch on mobile*/
input,textarea,button,select,div,a,span {
    -webkit-tap-highlight-color: rgba(0,0,0,0);
}
a, input, div, select, textarea, img, button {
    outline: none;
}
a:focus, a:visited, input:focus, select:focus, textarea:focus, button:focus {
    outline: none !important;
    box-shadow: none;
}
ol, ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
li{
    list-style: none;
}
/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}
button {
    font-family: inherit;
    cursor: pointer;
}
img {
    width /***/: auto;
    height: auto;
    border: none;
    vertical-align: bottom;
    max-width: 100%;
    image-rendering: -webkit-optimize-contrast;
}
a {text-decoration: none;
    cursor: pointer;
}
.hover:hover{
    transition: all .3s;
    opacity: 0.7;
    filter:alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
}
.container {
    margin: 0 auto;
    max-width: 1128px;
    position: relative;
    z-index: 10;
    padding-left: 30px;
    padding-right: 30px;
}
.anchor-link{
    position: relative;
    top: -130px;
    display: block;
    line-height: 0;
}
.wrapper{
    position: relative;
    z-index: 1;
    overflow: hidden;
}
.text-left{
    text-align: left;
}
.text-center{
    text-align: center;
}
.text-right{
    text-align: right;
}
.d-block{
    display: block;
}
.hdn{
    display: none !important;
}
.no-cursor{
    cursor: auto !important;
}
.hdn-scroll{
    overflow: hidden;
}
b, strong{
    font-weight: 700;
}
@media(max-width: 750px){
    .container {
        padding-left: 35px;
        padding-right: 35px;
    }
    .anchor-link{
        top: -70px;
    }
}
@media(max-width: 374px){
    .container {
        padding-left: 15px;
        padding-right: 15px;
    }
}
/*
==============================================================
=========================== pagetop ==========================
==============================================================
*/
#pagetop {
    width: 24px;
    text-align: center;
    bottom: 0px;
    right: 20px;
    position: fixed;
    z-index: 900;
    cursor: pointer;
    display: none;
    transition: .3s;
}
#pagetop img {
    width: 100%;
}
#pagetop:hover {
    opacity: .7;
}
@media(max-width: 750px){

}
/*
==============================================================
========================= End pagetop ========================
==============================================================
*/
/*
==============================================================
========================== Animation =========================
==============================================================
*/
@-webkit-keyframes aniHeaderMenu {
    0% {-webkit-transform: translate3d(0, -80%, 0);transform: translate3d(0, -80%, 0);}
    100% {-webkit-transform: translate3d(0, 0, 0);transform: translate3d(0, 0, 0);}
}
@keyframes aniHeaderMenu {0% {-webkit-transform: translate3d(0, -80%, 0);transform: translate3d(0, -80%, 0);}
100% {-webkit-transform: translate3d(0, 0, 0);transform: translate3d(0, 0, 0);}
}
@-webkit-keyframes backgroundIMG{
0% {opacity: 0;}
20% {opacity: 0.2;}
40% {opacity: 0.4;}
60% {opacity: 0.6;}
80% {opacity: 0.8;}
100% {opacity: 1; }
}
@keyframes backgroundIMG {
0% {opacity: 0;}
20% {opacity: 0.2;}
40% {opacity: 0.4;}
60% {opacity: 0.6;}
80% {opacity: 0.8;}
100% {opacity: 1;}
}
.fade-in {
opacity: 0;
filter: blur(4px) brightness(105%);
transition: opacity 2s ease, filter 2s ease;
}
.fade-in.is-view {
opacity: 1;
filter: blur(0) brightness(100%);
}
.fade-up {
opacity: 0;
transform: translateY(60px);
-webkit-transform: translateY(60px);
filter: blur(4px) brightness(105%);
transition: opacity 1.5s ease, transform 1.5s ease, filter 1.5s ease;
}
.fade-up.is-view {
opacity: 1;
transform: translateY(0);
-webkit-transform: translateY(0);
filter: blur(0) brightness(100%);
}
.fade-down {
opacity: 0;
transform: translateY(-40px);
-webkit-transform: translateY(-40px);
filter: blur(5px) brightness(105%);
transition: opacity 1.5s ease, transform 1.5s ease, filter 1.5s ease;
}
.fade-down.is-view {
opacity: 1;
transform: translateY(0);
-webkit-transform: translateY(0);
filter: blur(0) brightness(100%);
}
.fade-left {
opacity: 0;
transform: translateX(-40px);
-webkit-transform: translateX(-40px);
filter: blur(5px) brightness(105%);
transition: opacity 1.5s ease, transform 1.5s ease, filter 1.5s ease;
}
.fade-left.is-view {
opacity: 1;
transform: translateY(0);
-webkit-transform: translateY(0);
filter: blur(0) brightness(100%);
}
.fade-right {
opacity: 0;
transform: translateX(40px);
-webkit-transform: translateX(40px);
filter: blur(5px) brightness(105%);
transition: opacity 1.5s ease, transform 1.5s ease, filter 1.5s ease;
}
.fade-right.is-view {
opacity: 1;
transform: translateY(0);
-webkit-transform: translateY(0);
filter: blur(0) brightness(100%);
}
.zoom-in {
opacity: 0;
overflow: hidden;
transform: scale(0.7, 0.7);
-webkit-transform: scale(0.7, 0.7);
transition: opacity 1.5s ease, transform 1.5s ease;
}
.zoom-in.is-view {
opacity: 1;
transform: scale(1, 1);
-webkit-transform: scale(1, 1);
}
.zoom-out {
opacity: 0;
overflow: hidden;
transform: scale(1.2, 1.2);
-webkit-transform: scale(1.2, 1.2);
transition: opacity 1.5s ease, transform 1.5s ease;
}
.zoom-out.is-view {
opacity: 1;
transform: scale(1, 1);
-webkit-transform: scale(1, 1);
}
.roll-left {
position: relative;
overflow: hidden;
}
.roll-left img {
opacity: 0;
transition: opacity 1.5s ease .5s;
}
.roll-left:after {
content: '';
position: absolute;
top: 0;
bottom: 0;background: #f0ebe4;
}
.roll-left.is-view img {
    opacity: 1;
}
.roll-left.is-view:after {
    animation: rollLeft 1.5s ease;
}
@keyframes rollLeft {
    0% {
        left: 0;
        right: 100%;
    }
    50% {
        left: 0;
        right: 0;
    }
    100% {
        left: 100%;
        right: 0;
    }
}
@-webkit-keyframes rollLeft {
    0% {
        left: 0;
        right: 100%;
    }
    50% {
        left: 0;
        right: 0;
    }
    100% {
        left: 100%;
        right: 0;
    }
}
.roll-right {
    position: relative;
    overflow: hidden;
}
.roll-right img {
    opacity: 0;
    transition: opacity 1.5s ease .5s;
}
.roll-right:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    background: #3a6531;
}
.roll-right.is-view img {
    opacity: 1;
}
.roll-right.is-view:after {
    animation: rollRight 1.5s ease;
}
@keyframes rollRight {
    0% {
        right: 0;
        left: 100%;
    }
    50% {
        right: 0;
        left: 0;
    }
    100% {
        right: 100%;
        left: 0;
    }
}
@-webkit-keyframes rollRight {
    0% {
        right: 0;
        left: 100%;
    }
    50% {
        right: 0;
        left: 0;
    }
    100% {
        right: 100%;
        left: 0;
    }
}
@media (min-width: 768px) {
    .delay1 {
        transition-delay: .4s;
    }
    .delay2 {
        transition-delay: .6s;
    }
    .delay3 {
        transition-delay: .8s;
    }
    .delay4 {
        transition-delay: 1.2s;
    }
}
/*
==============================================================
========================= End Animation ======================
==============================================================
*/
/*
==============================================================
======================= hamburger menu =======================
==============================================================
*/
.hamburger-menu {
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: 0.2s;
    z-index: 1100;
    width: 80px;
    height: 80px;
    background: #FF0000;
    display: none;
    position: fixed;
    top: 0;
    right: 0;
}
.hamburger-menu .bar,
.hamburger-menu .bar:after,
.hamburger-menu .bar:before {
    width: 42px;
    height: 4px;
    transition: 0.2s;
    background: #fff;
}
.hamburger-menu .bar{
    position: relative;
    width: 42px;
    line-height: 1;
    transition: all 0ms 300ms;
}
.hamburger-menu .bar:before {
    content: "";
    position: absolute;
    left: 0;
    top: -13px;
    transition: bottom 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
}
.hamburger-menu .bar:after {
    content: "";
    position: absolute;
    left: 0;
    top: 13px;
    transition: top 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
}
.hamburger-menu.active .bar{
    background: none !important;
}
.hamburger-menu.active .bar:before {
    transform: rotate(-45deg);
    transition: bottom 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
    top: 0;
}
.hamburger-menu.active .bar:after {
    transform: rotate(45deg);
    transition: top 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
    top: 0;
}
@media(max-width:860px){
    .hamburger-menu {
        display: flex;
    }
    .hamburger-menu.bottom{
        display: none;
    }
    header.open-menu .hamburger-menu.bottom {
        display: flex;
        bottom: 0;
        right: 0;
        top: unset;
    }
}
/*
==============================================================
====================== End hamburger menu ====================
==============================================================
*/
/*
==============================================================
============================ Common ==========================
==============================================================
*/
.lb-sp{
    display: none;
}
.lb-pc{
    display: block;
}
.lb-sm{
    display: none !important;
}
.slick-track{
    height: 100%;
}
.btn-entry{
    display: inline-block;
    max-width: 168px;
    background-size: 100%;
    transition: .2s;
}
.btn-entry:hover{
    opacity: .7;
}
.btn {
    position: relative;
    display: inline-block;
    overflow: hidden;
    text-align: center;
    padding: 15px;
    line-height: 1;
    min-width: 206px;
    transition: .3s ease;
    -webkit-transition: 0.3s ease;
    background: #000;
    color: #fff;
}
.btn:hover {
    background: #2F659F
}
.btn span {
    position: relative;
    padding-right: 30px;
}
.btn::after{
    content: "";
    position: absolute;
    width: 50px;
    height: 1px;
    top: 50%;
    margin-top: -1px;
    right: 35px;
    z-index: 100;
    background: #fff;
}
.btn::before {
    content: "";
    position: absolute;
    width: 10px;
    height: 1px;
    top: 50%;
    margin-top: -3px;
    right: 35px;
    z-index: 100;
    background: #fff;
    transform: rotate(30deg);
}
@media(max-width:750px){
    .lb-sp{
        display: block;
    }
    .lb-pc{
        display: none;
    }
}
/*
==============================================================
========================== End common ========================
==============================================================
*/
/*
==============================================================
============================ Header ==========================
==============================================================
*/
header{
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 3000;
}
header .header-inner{
    display: flex;
    align-items: start;
    position: relative;
}
/*header.open-menu .right .btn-entry {
    display: none;
}*/
.fixed-nav header .header-inner::before{
    bottom: 0px;
    transition: .3s;
}
header.open-menu .header-inner::before{
    display: none;
}
header .logo img{
    width: 105px;
}
header .logo {
    padding-top: 20px;
}
header .logo{
    display: flex;
    padding-left: 22px;
    align-items: center;
    color: #000;
    font-size: 1.6rem;
    line-height: 1;
    font-weight: 600;
    padding-bottom: 20px;
    font-family: "Lexend Deca","Noto Sans", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", sans-serif
}
header.open-menu .logo{
    color: #000;
}
header .logo .open-menu-logo{
    display: none;
}
header.open-menu .logo img{
    display: none;
}
header.open-menu .logo .open-menu-logo{
    display: inline;
}
header .logo img{
    margin-right: 22px;
    transition: .3s;
}
header .right{
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
header .right .btn-entry {
    min-width: 250px;
    text-align: center;
    background: #FF0000;
    color: #fff;
    font-size: 2.6rem;
    font-weight: 400;
    line-height: 1;
    padding: 27px 0;
    font-family: "Lexend Deca","Noto Sans", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
}
header .right .btn-entry .sm {
    display: block;
    font-size: 1.3rem;
    font-family: "Noto Sans", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
    padding-bottom: 5px;
}
header .right .btn-entry.bg1 {
    background: #60C8D1;
}
header .right .btn-entry.bg2 {
    background: #4597C3;
}
header .right .btn-entry.bg3 {
    background: #365791;
}
header .right ul li .btn-entry {
    font-size: 2rem;
}
header .right .btn-box {
    position: relative;
}
header .right .btn-box ul {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
}
header .right .btn-box:hover ul {
    display: block;
}
header.open-menu .logo{
    animation: none !important;
}
header.open-menu {
    position: fixed;
    top: 0;
    box-shadow: unset !important;
}
header .right .header-nav ul {
    display: flex;
}
header .right .header-nav ul li {
    line-height: 1;
}
header .right .header-nav ul li a {
    color: #231815;
    padding: 34px 15px 33px;
    transition: .3s;
    font-size: 1.3rem;
    font-weight: 500;
    display: inline-block;
    min-width: 140px;
    text-align: center;
}
header .right .header-nav ul li a:hover {
    background: #fff;
}
header .right .header-nav ul li.parent  {
    position: relative;
}
header .right .header-nav ul li.parent a {
    z-index: 1;
    position: relative;
}
header .right .header-nav ul li.parent > a {
 pointer-events: none;
}
header .right .header-nav ul li.parent ul {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: none;
    background: #fff;
    padding: 90px 0 10px;
    transition: .3s;
    min-width: 140px;
}
header .right .header-nav ul li.parent:hover::before {
    content: "";
    position: absolute;
    width: 80%;
    height: 1px;
    background: rgba(112, 112, 112, 0.18);
    left: 10%;
    bottom: 0;
    z-index: 10;
    display: block !important;
    transition: .3s;
}
header .right .header-nav ul li.parent:hover ul {
    display: unset;
}

header .right .header-nav ul li.parent ul li {
    line-height: 1;
}
header .right .header-nav ul li.parent ul li a{
    padding: 0;
    line-height: 1.5;
    display: block;
    text-align: center;
    padding: 10px 0;
}
header .right .header-nav ul li.parent ul li a:hover {
    color: #FF0000;
}
header .right .header-nav ul li.hdn-pc {
    display: none;
}
header .right .right-inner {
    display: flex;
    align-items: center;
}
@media(max-width:1200px){
    header .right .header-nav ul li a {
        /* padding: 0 20px; */
    }
    header .right .btn-entry {
        min-width: 200px;
    }
}
@media(max-width:1024px){
    header .right .header-nav ul li a {
        /* padding: 0 12px; */
        font-size: 1.2rem;
        padding: 27px 10px;
        min-width: 120px;
    }
    header .right .header-nav ul li.parent ul {
        min-width: 120px;
    }
    header .right .btn-entry {
        min-width: 180px;
        padding: 20px 0;
    }
    header .logo img {
        width: 80px;
        margin-right: 15px;
    }
    header .logo {
        font-size: 1.4rem;
    }
    header .right .btn-box {
        width: 180px;
    }
    header .right .header-nav {
        flex: 1;
    }
}
@media(max-width: 860px){
    header .right .header-nav ul,
    header .right .btn-entry {
        display: block;
    }
    header.open-menu .right .btn-entry {
        display: block;
    }
    header .right .header-nav ul li.hdn-pc {
        display: block;
    }
    header .logo img {
        width: 70px;
        margin-right: 15px;
    }
    header .logo  {
        font-size: 1.6rem;
        padding-left: 10px;
        padding-top: 10px;
        padding-bottom: 10px;
    }
    header .right {
        position: absolute;
        left: 100%;
        transition: .5s;
        right: 0;
        top: 80px;
        bottom: 0;
        display: block;
        flex: auto;
        width: 100%;
        height: 100vh;
        overflow-y: unset;
    }
    header .right .right-inner {
        height: calc(100vh - 160px);
        background: #Ff0000;
        overflow-y: auto;
        /* flex-direction: column; */
        align-items: unset;
        flex-wrap: wrap;
    }
    header.open-menu .right {
        left: 0;
        overflow-y: auto;       
    }
    header.open-menu .hamburger-menu.bottom {
        position: absolute;
        bottom: 80px;
        right: 0;
    }
    header .right .header-nav ul {
        padding: 0 30px;
    }
    header .right .header-nav ul li a{
        color: #ffff;
        font-size: 2rem;
        text-align: center;
        display: block;
        padding: 25px 0;
        font-weight: 500;
        line-height: 1;
    }
    header .right .header-nav ul li {
        border-bottom: 1px solid #fff;
    }
    header .right .header-nav ul li.parent:hover ul {
        display: none;
    }
    header .right .header-nav ul li.parent ul {
        /* display: unset; */
        position: relative;
        height: auto;
        padding: 0 20px !important;
        border-top: 1px solid #A30000;
    }
    header .right .header-nav ul li.parent ul li{
        border-bottom: 1px solid #A30000 !important;
    }
    header .right .header-nav ul li.parent ul li:last-child {
        border-bottom: unset !important;
    }
    header .right .header-nav ul li.parent li {
        border: unset;
    }
    header .right .header-nav ul li.parent a:hover {
        background: inherit;
        opacity: .7;
    }
    header .right .header-nav ul li.parent a .ic{
        position: absolute;
        width: 50px;
        height: 50px;
        top: 50%;
        margin-top: -25px;
        right: 20px;
    }
    header .right .header-nav ul li.parent a .ic::after {
        content: "";
        position: absolute;
        width: 16px;
        height: 16px;
        border-bottom: 1px solid #fff;
        border-right: 1px solid #fff;
        transform: rotate(45deg);
        top: 50%;
        margin-top: -12px;
        right: 50%;
        margin-right: -8px;
        z-index: 10;
        transition: .3s
    }
    header .right .header-nav ul li.parent ul {
        background: unset;
        transition: .3s;
        padding: 0;
    }

    header .right .header-nav ul li.parent.active a .ic::after  {
        transform: rotate(-135deg);
        margin-top: -4px;
    }
    header .right .header-nav ul li.parent ul li a {
        padding: 20px 0;
    }
    header .right .header-nav ul li.parent ul li a:hover {
        color: #fff;
        opacity: .7;
    }
    header .right .btn-box ul {
        display: block;
        position: unset;
        left: 0;
        right: 0;
        top: 100%;
    }
    header .right .header-nav {
        flex: auto;
    }
    header .right .btn-box a.main {
        display: none;
    }
    header .right .btn-box ul {
        padding: 40px 30px;
    }
    header .right .btn-box ul li a {
        width: 100%;
        max-width: 100%;
    }
    header .right .header-nav ul li a:hover {
        background: unset;
        opacity: .7;
    }
    header .right .btn-box {
        width: 100%;
        padding-top: 0;
    }
 header .right .header-nav ul li.parent > a > span {
 pointer-events: auto;
}
}
@media(max-width: 750px){
 
}
/*
==============================================================
========================= End header =========================
==============================================================
*/
/*
==============================================================
============================= Footer =========================
==============================================================
*/
footer {
    background-color: #78a9bd;
    color: #FFF;
    padding: 50px 0 50px 20px;
    font-family: sans-serif;
    position: relative;
    z-index: 100;
}
footer .container {
    max-width: 1320px;
}
footer .footer-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}
footer .footer-logo {
    flex: 1;
    display: flex;
    align-items: center;
    font-family: "Lexend Deca","Noto Sans", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
}
footer .footer-logo img {
    width: 81px;
    margin-right: 22px;
}
footer .footer-logo span {
    font-size: 1.4rem;
    color: #000;
    line-height: 1;
  }
footer .footer-columns {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    margin-bottom: 40px;
    width: 820px;
}
footer .footer-column {
    padding-left: 20px;
}
footer .footer-column ul {
    list-style: none;
    padding: 0;
}
footer .footer-column li {
    margin-bottom: 8px;
    font-size: 1.2rem;
}
footer .footer-column a {
    color: #fff;
    font-size: 1.2rem;
    font-weight: 500;
    transition: .3s;
    position: relative;
}
footer .footer-column a.tl {
    pointer-events: none;      
    cursor: default;              
    color: inherit;            
    text-decoration: none; 
}
footer .footer-column a::before{
    content: "";
    position: absolute;
    transition: .3s;
    height: 1px;
    bottom: 0;
    background: #fff;
    left: 0;
    right: 100%;
}
footer .footer-column a:hover::before {
    right: 0;
}
footer .footer-buttons {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    max-width: 730px;
    margin: 0 auto 60px;
}
footer .footer-buttons a {
    background: black;
    color: #fff;
    padding: 17px 28px;
    font-weight: 500;
    display: inline-block;
    font-size: 1.4rem;
    min-width: 204px;
    line-height: 1;
    border: 1px solid #BEBEBE;
    text-align: center;
    transition: .3s;
}
footer .footer-buttons a:hover {
    background: #005B77;
}
.page-top {
    position: absolute;
    right: 40px;
    bottom: 20px;
    transform: rotate(90deg);
}
.page-top a {
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    border-left: 2px solid #fff;
    padding-left: 10px;
}

.copyright {
    text-align: center;
    font-size: 1.2rem;
    margin-bottom: 10px;
    font-weight: 500;
}
@media(max-width:1080px){
    footer {
        padding-left: 0;
    }
    footer .footer-logo img {
        width: 70px;
        margin-right: 15px;
    }
}
@media(max-width:1024px){
    footer {
        padding-left: 0;
    }
    footer .footer-logo img {
        width: 70px;
        margin-right: 15px;
    }
    footer .footer-column li {
        font-size: 1rem;
    }
    footer .footer-columns {
        width: 760px;
    }
    footer .container {
        padding: 0 20px;
    }
    footer .footer-logo span {
        font-size: 1.2rem;
    }
}
@media(max-width:960px){
    footer .footer-column {
        width: 25%;
    }
    footer .footer-column li {
        line-height: 1.4;
        margin-bottom: 10px;
    }
    footer .footer-columns {
        width: 550px;
    }
    footer .footer-column:first-child {
        width: 10%;
    }
}
@media(max-width:750px){
    footer .footer-column:first-child {
        width: 100%;
    }
    footer .footer-column {
        width: 100%;
        padding-left: 0;
        margin-bottom: 25px;
    }
    footer .footer-logo {
        flex: auto;
        width: 100%;
        text-align: center;
        flex-direction: column;
    }
    footer .footer-logo img {
        width: 105px;
        margin-right: 0;
        margin-bottom: 20px;
    }
    footer .footer-columns {
        width: 100%;
        text-align: center;
        padding-top: 45px;
        margin-bottom: 25px;
    }
    footer .footer-column a,
    footer .footer-column li {
        font-size: 2rem;
        line-height: 1.8;
        margin-bottom: 0;
    }
    footer .footer-column ul {
        margin: 0 -20px;
    }
    footer .footer-buttons{
        padding: 0 15px;
    }
    footer .footer-buttons a {
        width: 100%;
        margin-bottom: 20px;
        font-size: 1.8rem;
        padding: 30px 20px;
    }
    footer .footer-buttons {
        margin-bottom: 25px;
    }
    .copyright {
        font-size: 1.6rem;
        margin-bottom: 0;
    }
    footer {
        padding-bottom: 40px;
    }
}
@media(max-width: 374px){
    footer .footer-column a, 
    footer .footer-column li {
        font-size: 1.6rem;
    }
}
 /*
==============================================================
=========================== End Footer =======================
==============================================================
*/
/*
==============================================================
========================= scroll down ========================
==============================================================
*/
.scrolldown {
    position: absolute;
    bottom: 90px;
    right: 56px;
    z-index: 2;
    margin-left: -1px;
}
.scrolldown img {
    padding: 0;
    position: relative;
    width: 16px !important;
    right: -28px;
    top: 43px;
}
/* .scrolldown:before {
    content: "";
    position: absolute;
    top: 44px;
    left: 15px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #fff;
    animation: circlemove 2s ease-in-out infinite, cirlemovehide 2s ease-out infinite;
    box-shadow: 0px 0px 3px rgb(12, 19, 51, 0.7);
    z-index: 10;
} */
.scrolldown:after {
    content: "";
    position: absolute;
    background:#FF0000;
    background-position: center;
    background-size: cover;
    top: 44px;
    left: 17px;
    width: 2px;
    height: 110px;
}
/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circlemove{
    0%{top: 44px;}
    100%{top: 180px;}
 }

/*上から下にかけて丸が透過→不透明→透過する*/
@keyframes cirlemovehide{
    0%{opacity:0}
    50%{opacity:1;}
    80%{opacity:0.9;}
    100%{opacity:0;}
}
@media(max-width: 576px){
    .scrolldown {
        bottom: 80px;
        right: 40px;
    }
    .scrolldown:after {
        height: 100px;
    }
    .home .mv .txt-sm {
        right: 85px;
    }
}
/*
==============================================================
======================= End scroll down ======================
==============================================================
*/
 /*
==============================================================
=========================== Home =============================
==============================================================
*/
.home .mv img {
    width: 100%;
}
.home .mv {
    position: relative;
}
.home .mv .txt-sm {
    font-size: 0.8rem;
    font-weight: 500;
    position: absolute;
    bottom: 0;
    right: 90px;
}
.slick-slide {
  position: relative;
}
/* mv */
.home .content-txt {
    position: relative;
    overflow-x: hidden;
}
.home .path-right {
    position: absolute;
    width: 100%;
    /* height: 44vw; */
    background-size: 100% !important;
    right: -50%;
    top: 40%;
    margin-top: -31vw;
    z-index: -1;
}
.home .content-txt h2 {
    font-size: 4.2rem;
    letter-spacing: 0.1em;
    line-height: 1.33;
    font-weight: 500;
    padding-top: 50px;
    padding-bottom: 35px;
    font-family: "Noto Serif JP", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", serif;

}
.home .content-txt .txt {
    padding-bottom: 50px;
}
.modaal-overlay {
    z-index: 3001;
}
.home .content-txt .img img {
    width: 100%;
}
.home .content-txt .video-wp {
    padding: 10px;
    background: #fff;
    margin: 0 -10px;
}
.home .content-txt .video-if {
    padding-top: 56.25%;
    position: relative;
    border-radius: 15px;
    overflow: hidden;
}
.home .content-txt .video-wp .img {
    padding-top: 15px;
    padding-bottom: 15px;
    display: block;
}
.home .content-txt .video-wp .img img {
    width: 100%;
}
.home .content-txt .video-if iframe {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
@media(max-width:750px){
    .home .content-txt h2 {
        font-size: 3rem;
    }
    .home .path-right {
        width: 157%;
        right: -95%;
        top: 77%;
    }
    .home .content-txt .video-wp {
        padding: 3px;
        margin: 0 -3px;
    }
    .home .content-txt .container {
        padding: 0 15px;
    }
    .home .content-txt .video-wp .img {
        padding-top: 5px;
        padding-bottom: 0px;
    }
    .home .content-txt .video-if {
        border-radius: 5px;
    }
}
/* content-txt */
.home .about-us {
    padding-top: 20px;
}
.tl-box{
    font-size: 1.6rem;
    line-height: 1;
    letter-spacing: 0.1em;
    font-weight: 600;
    position: relative;
    z-index: 2;
}
.tl-box h2 {
    font-size: 6rem;
    line-height: 1.33;
    font-weight: 400;
    letter-spacing: 0;
    font-family: "Lexend Deca","Noto Sans", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
}
.home .about-us {
    position: relative;
}
.home .about-us .bg {
    width: 100%;
    position: absolute;
    bottom: 0;
    z-index: -1;
}
.home .about-us .content {
    display: flex;
    margin-top: -55px;
    padding-bottom: 100px;
}
.home .about-us .content .item {
    width: 50%;
    position: relative;
    transition: .3s;
    overflow: hidden;
}
.home .about-us .content .item img {
    transition: .3s;
}
.home .about-us .content .item .txt {
    position: absolute;
    bottom: 20px;
    left: 22px;
    line-height: 1;
    font-family: "Noto Serif JP", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", serif;
    color: #fff;
    font-size: 3.8rem;
    letter-spacing: 0.1em;
    font-weight: 500;
}
.home .about-us .content .item .txt.arr::after,
.home .about-us .content .item .txt.arr::before{
    content: "";
    position: absolute;
    transition: .3s;
}
.home .about-us .content .item .txt.arr::after {
    width: 15px;
    height: 1px;
    background: #fff;
    bottom: 8px;
    right: -140px;
    transform: rotate(40deg)
}
.home .about-us .content .item .txt.arr::before {
    width: 96px;
    height: 1px;
    background: #fff;
    bottom: 3px;
    right: -140px;
}
.home .about-us .content .item:hover .txt.arr::after,
.home .about-us .content .item:hover .txt.arr::before{
    right: -160px;
}
.home .about-us .content .item a {
    position: absolute;
    z-index: 3;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}
.home .about-us .content .item:hover img {
    transform: scale(1.08);
}
@media(max-width:750px){
    .home .about-us .content {
        flex-wrap: wrap;
    }
    .home .about-us .content .item {
        width: 100%;
    }
    .home .about-us .content {
        margin-top: -23px;
    }
    .home .about-us .container {
        padding: 0;
    }
    .home .about-us  {
        padding-top: 0px;
    }
    .home .about-us .content .item img {
        height: 253px;
        object-fit: cover;
        object-position: bottom left;
        width: 100%;
    }
    .home .about-us .content .item .txt.arr::after, 
    .home .about-us .content .item .txt.arr::before {
        right: -110px;
    }
    .home .about-us .content .item .txt.arr::before {
        width: 80px;
    }
    .home .about-us .bg {
        height: 580px;
        object-fit: cover;
        object-position: center;
        transform: unset !important;
        will-change: unset !important;
        transition: unset !important;
    }
    .home .about-us .content {
        padding-bottom: 135px;
    }
}
/* about-us */
.home .job {
    padding-top: 40px;
    position: relative;
}
.home .job .bg {
    position: absolute;
    top: 0;
    width: 100%;
}
.home .job .items {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -8px;
    padding-top: 25px;
}
.home .job .items .item {
    width: 33.33%;
    padding: 8px;
}
.home .job .items .item .inner {
    text-align: center;
    position: relative;
}
.home .job .items .item .inner img {
    width: 100%;
}
.home .job .items .item .inner h3 {
    font-size: 2.3rem;
    letter-spacing: 0.1em;
    line-height: 1.7;
    position: absolute;
    letter-spacing: 0;
    right: 0;
    left: 0;
    color: #fff;
    top: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    font-family: "Noto Serif JP", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", serif;
}
.home .job .items .item .inner h3::after,
.home .job .items .item .inner h3::before{
    content: "";
    position: absolute;
    right: 50%;
    margin-right: -48px;
    transition: .3s;
}
.home .job .items .item .inner h3::after {
    width: 15px;
    height: 1px;
    background: #fff;
    bottom: 56px;
    transform: rotate(40deg)
}
.home .job .items .item .inner h3::before {
    width: 96px;
    height: 1px;
    background: #fff;
    bottom: 51px;
}
.home .job .items .item .inner a {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10;
}
.home .job .items .item .inner .img {
    position: relative;
    padding-top: 72%;
    overflow: hidden;
}
.home .job .items .item .inner .img img {
    position: absolute;
    object-fit: cover;
    object-position: center;
    height: 100%;
    top: 0;
    transition: .3s;
    left: 0;
}
.home .job .items .item .inner:hover h3::before,
.home .job .items .item .inner:hover h3::after  {
    /* transform: scale(1.1); */
    right: 40%;
}
@media(max-width:960px){
    .home .job .items .item .inner h3 {
        font-size: 1.6rem;
    }
    .home .job .items .item .inner h3::before {
        bottom: 35px;
    }
    .home .job .items .item .inner h3::after {
        bottom: 40px;
    }
}
@media(max-width:750px) {
    .home .job .items {
        margin: 0;
    }
    .home .job .items .item {
        width: 100%;
        padding: 5px 20px;
    }
    .home .job .items .item .inner h3 {
        font-size: 6vw;
    }
    .home .job .items .item .inner h3::before {
        bottom: 13.3vw;
    }
    .home .job .items .item .inner h3::after {
        bottom: calc(13.3vw + 5px);
    }
    .home .job {
        padding-bottom: 70px;
    }
}
/* job */
.people {
    padding-top: 70px;
}
.people ul.items {
    display: grid;
    grid-template-columns: repeat(5, 1fr);    
    gap: 16px;
    padding-top: 35px;
}
.people ul.items li .inner {
    position: relative;
}
.people ul.items li .inner:hover .txt {
 opacity: 1;
 transition: 0.4s;
}
.people ul.items li .inner a {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10;
}
.people ul.items li .inner .txt .en {
    font-size: 1.8rem;
}
.people ul.items li .inner .txt {
    position: absolute;
    bottom: 20px;
    left: 20px;
    color: #fff;
    font-size: 1.4rem;
    line-height: 1.7;
    z-index: 3;
    opacity: 0; 
    transition: .3s;
}
.people ul.items li .inner .txt h3 {
    font-size: 1.4rem;
    padding: 8px 0;
}
.people ul.items li .inner .img {
    position: relative;
    padding-top: 139.6%;
    overflow: hidden;
}
.people ul.items li .inner .img img {
    position: absolute;
    top: 0;
    left: 0;
    transition: .3s;
    width: 100%;
}
/* .people ul.items li .inner:hover .txt {
    opacity: 1;
} */
.people ul.items li .inner:hover img {
    transform: scale(1.1);
}
@media(max-width:1024px){
    .people ul.items li .inner .txt {
        font-size: 1.2rem;
     opacity: 1;
    }
}
@media(max-width:960px){
    .people ul.items {
        grid-template-columns: repeat(3, 1fr);    
    }
    .people ul.items {
        margin: 0;
    }
}
@media(max-width:750px){
    .people {
        background: #fff;
        position: relative;
        z-index: 1;
    }
    .people ul.items {
        padding: 30px 35px 70px;
    }
    .people ul.items {
        grid-template-columns: repeat(1, 1fr);    
        gap: 10px;
    }
}
/* people */
.work-style {
    position: relative;
}
.home .work-style .content {
    display: flex;
    flex-wrap: wrap;
    padding-top: 85px;
}
.home .work-style .path-right {
    right: unset;
    left: -46%;
    top: 116%;
}
.home .work-style .content .txt-box {
    padding-right: 85px;
    padding-top: 30px;
}
.home .work-style .content .txt-box .inner {
    position: relative;
}
.home .work-style .content .txt-box,
.home .work-style .content .img-box {
    width: 50%;
    position: relative;
}
.home .work-style .content .img-box img {
    width: 100%;
}
.home .work-style .content .txt-box .tl-box {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.home .work-style .content .txt-box .btn-box {
    padding-top: 75px;
}
.home .work-style .content .txt-box .btn-box a {
    font-size: 1.8rem;
    line-height: 1;
    font-family: "Lexend Deca","Noto Sans", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
    color: #000;
    font-weight: 400;
    padding-right: 120px;
    position: relative;
}
.home .work-style .content .txt-box .btn-box a::after,
.home .work-style .content .txt-box .btn-box a::before{
    content: "";
    position: absolute;
    right: 0;
    transition: .3s;
}
.home .work-style .content .txt-box .btn-box a::after {
    width: 15px;
    height: 1px;
    background: #000;
    bottom: 8px;
    transform: rotate(40deg)
}
.home .work-style .content .txt-box img {
    width: 100%;
}
.home .work-style .content .txt-box .btn-box a::before {
    width: 96px;
    height: 1px;
    background: #000;
    bottom: 3px;
}
.home .work-style .content .txt-box .btn-box a:hover::after,
.home .work-style .content .txt-box .btn-box a:hover::before {
    right: -5%;
}
@media(max-width:1024px){
    .home .work-style .content .txt-box {
        padding-right: 35px;
        /* padding-top: 30px; */
    }
    .home .work-style .content .txt-box .btn-box {
        padding-top: 40px;
    }
    .tl-box h2 {
        font-size: 4rem;
    }
    .home .work-style .content .txt-box .btn-box a {
        font-size: 1.4rem
    }
    .home .work-style .content .txt-box .btn-box a::after {
        width: 12px;
        bottom: 7px;
    }
    .home .work-style .content .txt-box .btn-box a::before {
        width: 80px;
    }
    .home .work-style .content .txt-box .btn-box a {
        padding-right: 100px;
    }
}
@media(max-width: 750px){
    .tl-box h2 {
        font-size: 6rem;
    }
    .home .work-style .content .txt-box {
        width: 100%;
        padding-right: 0;
    }
    .home .work-style .content {
        padding-top: 0;
    }
    .home .work-style .content .txt-box {
        padding-top: 0;
    }
    .home .work-style .content .img-box {
        width: 100%;
        margin-top: -21.3%;
    }
    .home .work-style .content .txt-box .tl-box {
        padding-bottom: 5vw;
    }
    .home .work-style .path-right {
        right: -143%;
        left: unset;
        top: 69%;
        width: 230%;
    }
}
@media(max-width:374px){
    .tl-box h2 {
        font-size: 4rem;
    }
}
/* work-style */
.home .recruit {
    padding-top: 85px;
    position: relative;
}
.home .recruit::before {
    /* content: "";
    position: absolute;
    width: 52.5vw;
    height: 42.9vw;
    background: url(../img/recruit-bg.png) no-repeat;
    background-size: 100% !important;
    top: -18vw;
    z-index: -1;
    left: 0; */
}
.home .recruit .content {
    display: flex;
    padding-bottom: 40px;
    padding-top: 35px;
}
.home .recruit .content .item {
    width: 50%;
    position: relative;
    transition: .3s;
}
.home .recruit .content .item .img {
    padding-top: 36.5%;
    overflow: hidden;
    width: 100%;
    background: #fff;
}
.home .recruit .content .item img {
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    object-position: center;
    height: 100%;
    width: 100%;
}
.home .recruit .content .item .txt {
    position: absolute;
    bottom: 15px;
    left: 10px;
    line-height: 1;
    font-family: "Noto Serif JP", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", serif;
    color: #fff;
    font-size: 3.6rem;
    letter-spacing: 0.12em;
    font-weight: 500;
}
.home .recruit .content .item .txt::after,
.home .recruit .content .item .txt::before{
    content: "";
    position: absolute;
    transition: .3s;
}
.home .recruit .content .item .txt::after {
    width: 15px;
    height: 1px;
    background: #fff;
    bottom: 8px;
    right: -140px;
    transform: rotate(40deg)
}
.home .recruit .content .item .txt::before {
    width: 96px;
    height: 1px;
    background: #fff;
    bottom: 3px;
    right: -140px;
}
.home .recruit .content .item a {
    position: absolute;
    z-index: 3;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}
.home .recruit .content .item:hover .txt::after,
.home .recruit .content .item:hover .txt::before{
     right: -160px
}
.home .recruit .content .item:last-child .txt::before,
.home .recruit .content .item:last-child .txt::after {
    right: -120px;
}
.home .recruit .content .item:last-child:hover .txt::before,
.home .recruit .content .item:last-child:hover .txt::after {
    right: -140px;
}
@media(max-width:1040px){
    .home .recruit .content .item .txt {
        font-size: 3rem;
    }
    .home .recruit .content .item .txt::after, .home .recruit .content .item .txt::before {
        right: -120px;
    }
}
@media(max-width:860px) {
    .home .recruit .content {
        flex-wrap: wrap;
    }
    .home .recruit .content .item {
        width: 100%;
    }
}
@media(max-width:750px) {
    .home .recruit .content .item .img {
        padding-top: unset;
    }
    .home .recruit .content .item img {
        position: unset;
        height: 69.3vw;
    }
    .home .recruit .content .item .txt {
        font-size:3.6rem;
        bottom: 45px;
        left: 20px;
    }
    .home .recruit .content .item .txt::after, 
    .home .recruit .content .item .txt::before {
        right: unset;
        left: 0;
    }
    .home .recruit .content .item .txt::after {
        left: 80px;
        bottom: -21px;
    }
    .home .recruit .content .item .txt::before {
        bottom: -26px;
    }
    .home .content-txt::after {
        width: 65vw;
        height: 92vw;
        background: url(../img/content-txt-bg-sp.png) no-repeat;
        margin-top: 0;
        top: unset;
        bottom: -14vw;
    }
    .home .recruit::before {
        width: 87.5vw;
        height: 125vw;
        background: url(../img/content-txt-bg-sp.png) no-repeat;
        top: -112vw;
        left: unset;
        right: 0;
    }
    .home .recruit .content .item:hover .txt::after{
        left: 100px;
    }
    .home .recruit .container {
        padding: 0;
    }
    .home .recruit .content .item:hover .txt::before{
         left: 20px;
    }
    .home .content-txt {
        padding-bottom: 50px;
        overflow-y: inherit;
    }
}
@media(max-width:374px){
    .home .recruit .content .item .txt {
        font-size: 3.1rem;
    }
}
/* recruit */
.home .entry-group {
    padding-bottom: 100px;
}
.home .entry-group ul {
    display: flex;
    flex-wrap: wrap;
}
.home .entry-group ul li {
    width: 33.33%;
    text-align: center;
    position: relative;
}
.home .entry-group ul li a {
    color: #fff;
    background: #34B9C4;
    display: block;
    line-height: 1;
    font-size: 3.4rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    padding: 74px 20px 100px;
    position: relative;
    transition: .3s;
    font-family: "Noto Serif JP", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", serif;
}
.home .entry-group ul li a .ja {
    display: block;
    padding-bottom: 10px;
}
.home .entry-group ul li a.bg2 {
    background: #0071AD;
}
.home .entry-group ul li a.bg3 {
    background: #002A73;
}
.home .entry-group ul li a::before,
.home .entry-group ul li a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 0;
    transition: opacity .3s ease;
}
.home .entry-group ul li a::before {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0));
    opacity: 1;
}
.fixed-nav header{
    position: fixed;
    left: 0;
    right: 0;
    z-index: 1000;
    padding: 0;
    background: rgb(255, 255, 255, .6);
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    -webkit-animation: aniHeaderMenu .3s ease forwards;
            animation: aniHeaderMenu .3s ease forwards;
    -webkit-box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.1);
            box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.1);
}
.home .entry-group ul li a::after {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, .5));
    opacity: 0;
}
.home .entry-group ul li a span.inner {
    position: relative;
    z-index: 2;
    display: inline-block;
}
.home .entry-group ul li a span.inner::after {
    content: "";
    position: absolute;
    left: 50%;
    margin-left: -48px;
    transition: .3s;
    width: 96px;
    height: 15px;
    background: url(../img/arrow.svg) no-repeat;
    background-size: 100% !important;
    bottom: -38px;
}
/* ,
.home .entry-group ul li a:hover span.inner::before */
.home .entry-group ul li a:hover span.inner::after {
    right: 10%;
}
/* .home .entry-group ul li a span.inner::before {
    width: 96px;
    height: 1px;
    background: #fff;
    bottom: 0;
} */
.home .entry-group ul li a:hover::before {
    opacity: 0;
}

.home .entry-group ul li a:hover::after {
    opacity: 1;
}
@media(max-width: 750px){
    .home .entry-group ul li {
        width: 100%;
    }
    .home .entry-group ul li a {
        padding: 40px 20px 70px;
    }
    .home .entry-group {
        padding-bottom: 70px;
    }
    .fixed-nav header{
        background: rgb(255, 255, 255);
        -webkit-transform: unset;
                transform: unset;
        -webkit-animation: unset;
                animation: unset;
    }
}
/* entry-group */
/*
==============================================================
=========================== End Home =========================
==============================================================
*/
.main-visual {
    text-align: center;
    padding-top: 160px;
    padding-bottom: 60px;
}
.main-visual h2 {
    font-size: 6rem;
    font-family: "Lexend Deca","Noto Sans", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
    font-weight: 400;
    line-height: 1.33;
}
.main-visual .sub-tl {
    font-family: "Noto Serif JP", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", serif;
    font-size: 1.6rem;
    line-height: 1.33;
    font-weight: 600;
    letter-spacing: 0.1em;
}
.about-page .main-visual {
    position: relative;
    padding-top: 0;
    padding-bottom: 0;
    margin-bottom: 8.5%;
}
.about-page .main-visual img {
    width: 100%;
    object-fit: cover;
    object-position: left;
}
.about-page .main-visual .img-right {
    text-align: right;
    top: 60%;
    position: absolute;
    height: auto !important;
}
.about-page .main-visual .img-right img {
    position: unset;
    width: 90%;
}
.about-page .main-visual .txt {
    position: absolute;
    top: 23.5%;
    left: 0;
    right: 0;
}
@media(max-width:1366px){
    /* .about-page .main-visual img {
         height: 700px;
    } */
}
@media(max-width:960px){
    .about-page .main-visual img {
        /* height: 500px; */
    }
    .about-page .main-visual .txt {
        top: 20%;
    }
}
@media(max-width:750px){
    /* .about-page .main-visual img {
        height: 165vw;
    } */
     .about-page .main-visual .img-right {
        top: 45%;
     }
    .about-page .main-visual .txt {
        top: 20%;
    }
}
.about-page .content h2{
    font-family: "Noto Serif JP", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", serif;
    font-size: 3.6rem;
    line-height: 1.55;
    letter-spacing: 0.1em;
    padding-top: 90px;
    padding-bottom: 50px;
    font-weight: 500;
}
.about-page .content .txt {
    max-width: 720px;
    margin: 0 auto;
    padding-bottom: 55px;
    font-size: 1.5rem;
    line-height: 2.66;
}
.anchor-group {
    display: flex;
    flex-wrap: wrap;
    max-width: 834px;
    margin: 0 auto;
    padding-bottom: 65px;
}
.anchor-group li {
    width: 50%;
    text-align: center;
    padding: 2px;
}
.anchor-group li a {
    color: #fff;
    font-size: 2.6rem;
    line-height: 1;
    letter-spacing: 0.1em;
    background: #066BAC;
    display: block;
    padding: 34px 20px 50px;
    position: relative;
    transition: .3s;
    font-family: "Noto Serif JP", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", serif;
}
.anchor-group li:last-child a {
    background: #12898E;
}
.anchor-group li a:hover {
    opacity: .7;
}
.anchor-group li a::after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    border-top: 10px solid #fff;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    bottom: 25px;
    left: 50%;
    margin-left: -5px;
}
.about-page .content-box1 {
    background: url(../img/about/about-banner.jpg) no-repeat;
    background-size: cover !important;
    background-position: center bottom !important;
}
.about-page .content-box1 h2 {
    padding-bottom: 30px;
    font-weight: 500;
}
.about-page .content-box1 .txt {
    padding-bottom: 80px;
}
.about-page .content-box2 h2 {
    padding-top: 70px;
    padding-bottom: 30px;
}
.about-page .content .items .item {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 68px;
    position: relative;
}
.about-page .content .items {
    position: relative;
}
.about-page .content .items::after {
    content: "";
    position: absolute;
}
.about-page .content .items .decor-image {
  position: absolute;
  width:450px;
  height: 232px;
  background: url(../img/about/item01-cl.png) no-repeat;
  background-size: 100% !important;
  right: 0;
  top: -105px;
  z-index: 100;
}
.about-page .content .items.fm1 .decor-image {
    width: 335px;
    height: 229px;
    background: url(../img/about/item02-cl.png) no-repeat;
    left: 0;
    right: unset;
    top: 50%;
    margin-top: -115px
}
.about-page .content .items.fm2 .decor-image  {
    width: 510px;
    height: 225px;
    background: url(../img/about/item03-cl.png) no-repeat;
    right: 0;
    bottom: 20%;
    top: unset;
}
.about-page .content .items .item.fm1 {
    justify-content: right;
}
.about-page .content .items .item.fm1 .txt-box {
    padding-left: 15px;
    padding-right: 0;
}
.about-page .content .items .item .txt-box {
    width: 43%;
    padding-right: 15px;
    padding-top: 40px;
}
.about-page .content .items .item .txt-box .inner {
    background: #F6F6F6;
    padding: 55px 30px 25px;
    position: relative;
    font-size: 1.5rem;
    line-height: 2;
}
.about-page .content .items .item .txt-box .inner h3 {
    font-family: "Noto Serif JP", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", serif;
    font-size: 2.6rem;
    letter-spacing:0.1em;
    line-height: 1;
    font-weight: 400;
    position: absolute;
    top: -30px;
    display: flex;
    align-items: center;
    left: 0;
}
.about-page .content .items .item .txt-box .inner h3 .no {
    font-family: "Lexend Deca","Noto Sans", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
    font-size: 6rem;
    line-height: 1;
    font-weight: 400;
    color: #5BBEDD;
    width: 100px;
}
.about-page .content .items .item .img {
    width: 50%;
}
.about-page .content .items .item.fm1 .txt-box .inner h3 .no {
    color: #FC9999;
}
.about-page .content .items .item.fm2 .txt-box .inner h3 .no {
    color: #AAD566;
}
.about-page .content .items {
    padding-bottom: 30px;
}
.about-page .content.bg1{
    background: linear-gradient(to bottom, rgba(255, 255, 255) 0%, #F0FEFF 100%);
}
.about-page .content .item-list li {
    width: 83%;
    position: relative;
    padding-bottom: 50px;
    padding-top: 40px;
}
.about-page .content .item-list li.odd {
    margin-left: auto;
}
.about-page .content .item-list li::after {
    content: "";
    position: absolute;
    background: linear-gradient(to bottom, #FFFBD0 0%, #F0FEFF 100%);
    width: 100%;
    height: 50px;
    transform: skew(30deg);
    left: 15px;
}
.about-page .content .item-list li.bg1::after {
    background: linear-gradient(to bottom, #D0F2FF 0%, #F0FEFF 100%);
    transform: skew(-30deg);
    left: -15px;
}
.about-page .content .item-list li.bg2::after {
    background: linear-gradient(to bottom, #FFD0D9 0%, #F0FEFF 100%);
}
.about-page .content .item-list li.bg3::after {
    background: linear-gradient(to bottom, #FFE9D0 0%, #F0FEFF 100%);
    transform: skew(-30deg);
    left: -15px;
}
.about-page .content .item-list li .inner {
    display: flex;
    flex-wrap: wrap;
    background: #fff;
    padding: 40px;
}
.about-page .content .item-list li .inner h3 {
    font-size: 2.6rem;
    line-height: 1.4;
    font-weight: 400;
    padding-bottom: 15px;
    font-family: "Noto Serif JP", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", serif;
}
.about-page .content .item-list li .inner p {
    font-size: 1.5rem;
    line-height: 2.1;
}
.about-page .content .item-list li .inner .txt {
    flex: 1;
    padding-right: 20px;
}
.about-page .content .item-list li .inner .img {
    width: 32%;
}
.about-page .content .item-list li .inner .img img {
    width: 100%;
}
.about-page .bottom-box {
    padding-top: 85px;
    padding-bottom: 100px;
}
.about-page .bottom-box .btn-box {
    padding-top: 65px;
    font-family: "Noto Serif JP", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", serif;
}
.about-page .bottom-box .btn-box .btn {
    background: #12898E;
    min-width: 412px;
    padding: 31px 20px;
}
.about-page .bottom-box .btn-box .btn:hover {
    opacity: .7;
}
.about-page .bottom-box .btn-box .btn::before {
    display: none;
}
.about-page .bottom-box .btn-box .btn::after {
    width: 10px;
    height: 10px;
    background: url(../img/about/ic-expand.png) no-repeat;
    background-size: 100% !important;
    right: 65px;
    margin-top: -4px;
}
@media(max-width:750px){
    .about-page .content.bg1{
        background: #F0FEFF;
    }
    .about-page .content h2 {
        font-size: 3rem;
        padding-bottom: 30px;
        margin: 0 -15px;
        letter-spacing: 0.1em;
    }
    .about-page .content .txt {
        font-size: 1.8rem;
        line-height: 2;
    }
    .about-page .content.bg1 .txt {
        padding-bottom: 10px;
    }
    .about-page .content .txt {
        padding-bottom: 45px;
    }
    .anchor-group li {
        width: 100%;
        padding: 0 0 3px;
    }
    .about-page .content-box1 h2 {
        padding-top: 70px;
    }
    .about-page .content-box1 {
        background: url(../img/about/about-banner-sp.jpg) no-repeat;
    }
    .about-page .content .items .item .txt-box {
        width: 100%;
        padding-left: 35px;
        padding-right: 35px;
    }
    .about-page .content .items .item .img {
        width: 100%;
        padding-top: 20px;
        padding-left: 35px;
    }
    .about-page .content .items .item .txt-box .inner {
        font-size: 1.8rem;
        line-height: 2;
    }
    .about-page .items .container {
        padding: 0;
    }
    .about-page .content .items .item {
        padding-bottom: 0;
    }
    .about-page .content .items.fm1 .item {
        flex-direction: column-reverse;
    }
    .about-page .content .items .item.fm1 .txt-box {
        padding-left: 35px;
        padding-right: 35px;
    }
    .about-page .content .txt {
        padding-bottom: 25px;
    }
    .about-page .content .items.fm1::after {
        top: 0;
        margin-top: -350px
    }
    .about-page .content .items.fm1 .item .img {
        padding-left: 0;
        padding-right: 35px;
    }
    .about-page .content .items .item .img img{
        height: 66.66vw;
        object-fit: cover;
        object-position: center;
    }
    .about-page .content .items .item.fm1 .txt-box .inner h3 .tl {
        flex: 1;
        line-height: 1.4
    }
    .about-page .content .items .item.fm1 .txt-box .inner h3 {
        align-items: flex-start;
    }
    .about-page .content .items .item.fm1 .txt-box .inner {
        padding-top: 100px;
    }
    .about-page .content .items .item.fm1 .txt-box .inner h3 {
        top: -20px;
    }
    .about-page .content .items.fm2 {
        padding-bottom: 70px;
    }
    .about-page .content .items.fm2::after {
        display: none;
    }
    .about-page .content-box2 {
        position: relative;
    }
    .about-page .content-box2 .decor-image {
        position: absolute;
        width: 100%;
        height: 36vw;
        background: url(../img/about/bg01.png) no-repeat;
        background-size: 100%;
        right: 0;
        top: 0;
        display: block;
        z-index: -1;
    }
    .about-page .content .items.fm2 .decor-image {
        bottom: -20%;
    }
    .about-page .content-box1 {
        z-index: 1;
        position: relative;
    }
    .about-page .content .item-list li {
        width: 100%;
        overflow: hidden;
        padding-top: 0;
    }
    .about-page .content .container.fm1 {
        padding: 0;
    }
    .about-page .content .item-list li .inner .txt {
        flex: auto;
        padding: 0;
        line-height: 1.7;
    }
    .about-page .content .item-list li .inner .img {
        width: 100%;
        padding-top: 25px;
    }
    .about-page .content .item-list li .inner p {
        font-size: 1.8rem;
    }
    .about-page .bottom-box .btn-box {
        padding-top: 45px;
    }
    .about-page .bottom-box {
        padding-top: 35px;
    }
    .about-page .bottom-box {
        padding-bottom: 60px;
    }
    .about-page .bottom-box .btn-box .btn {
        min-width: 302px;
    }
    .about-page .bottom-box .btn-box .btn::after {
        right: 20px;
    }
    .about-page .content .items .decor-image {
        z-index: -1;
    }
}
@media(max-width:374px){
    .about-page .content h2 {
        font-size: 2.4rem;
        padding-top: 35px;
    }
    .about-page .bottom-box .btn-box .btn {
        min-width: 250px;
    }
    .about-page .bottom-box .btn-box .btn::after {
        right: 12px;
    }
}
/*
==============================================================
======================== people-page =========================
==============================================================
*/
.people-page .cl1{
    color: #FF7436;
}
.people-page .cl2{
    color: #50BCFF;
}
.people-page .cl3{
    color: #6FD8AF;
}
.people-page .cl4{
    color: #EF6363;
}
.people-page .cl5{
    color: #6B77B9;
}
.people-page .profile .sub-tl {
    font-size: 2.2rem;
    line-height: 1;
    font-family: "Lexend Deca","Noto Sans", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
}
.people-page .profile .sub-tl .no {
    font-size: 7rem;
    margin-left: 30px;
}
.people-page .profile h2 {
    font-size: 4.6rem;
    letter-spacing: 0.1em;
    font-weight: 500;
    line-height: 1.4;
    font-family: "Noto Serif JP", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", serif;
    padding-top: 75px;
    padding-bottom: 50px;
}
.people-page .profile .inner {
    margin-left: calc((100vw - 1254px) / 2);
    display: flex;
    flex-wrap: wrap;
    padding-left: 30px;
    overflow: hidden;
}
.people-page .profile .txt{
    width: 45%;
    font-size: 1.4rem;
}
.people-page .profile .txt .lg {
    font-size: 2.8rem;
}
.people-page .profile .img {
    flex: 1;
    padding-bottom: 50px;
    position: relative;
}
.people-page .profile .img::after {
    content: "";
    position: absolute;
    background: linear-gradient(to bottom, #FFECE3 0%, #fff 100%);
    width: 100%;
    height: 50px;
    transform: skew(30deg);
    left: 15px;
    bottom: 0;
}
.people-page.cl2 .profile .img::after {
    background: linear-gradient(to bottom, #D0F4FF 0%, #fff 100%);
}
.people-page.cl3 .profile .img::after {
    background: linear-gradient(to bottom, #C6F4E2 0%, #fff 100%);
}
.people-page.cl4 .profile .img::after {
    background: linear-gradient(to bottom, #FFDBDB 0%, #fff 100%);
}
.people-page.cl5 .profile .img::after {
    background: linear-gradient(to bottom, #DBE1FF 0%, #fff 100%);
}
.people-page .items {
    padding-bottom: 110px;
}
.people-page .items .item {
    display: flex;
    flex-wrap: wrap;
}
.people-page .items .item .img{
    width: 45%;
}
.people-page .items .item .txt {
    flex: 1;
}
.people-page .items .item .img p{
    padding-bottom: 30px;
}
.people-page .items .item .img p img {
    width: 100%;
}
.people-page .items {
    padding-top: 80px;
    width: 90%;
}
.people-page .items .item .txt {
    padding: 0 70px;
    font-size: 1.5rem;
    line-height: 2.1;
}
.people-page .cl1 {
    color: #FF7436;
}
.people-page .items  .inner-txt:first-child h3{
    padding-top: 0;
}
.people-page .items h3 {
    font-size: 2.6rem;
    line-height: 1.54;
    font-family: "Noto Serif JP", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", serif;
    font-weight: 500;
    padding-bottom: 15px;
    letter-spacing: 0.1em;
    padding-top: 50px;
}
.people-page .people {
    background: linear-gradient(to bottom, #DDF2FF 0%, #F0FEFF 100%);
}
.people-page .people ul.items {
    width: 100%;
    padding-top: 0;
    padding-bottom: 70px;
}
.people-page .profile .img img {
    width: 100%;
}
@media (max-width: 1254px) {
    .people-page .profile .inner {
        margin-left: auto;
    }
    .people-page .profile h2 {
        font-size: 3.2rem;
        padding-top: 40px;
        padding-bottom: 20px;
    }
}
@media(max-width:1100px){
    .people-page .items {
        width: 100%;
    }
}
@media(max-width:960px){
    .people-page .items .item .txt {
        padding: 0 35px;
        font-size: 1.5rem;
        line-height: 2.1;
    }
}
@media(max-width:750px){
    .people-page .profile .inner {
        padding: 0;
        flex-direction: column-reverse;
        padding-top: 100px;
        position: relative;
    }
    .people-page .profile .txt {
        width: 100%;
        padding: 0 35px;
    }
    .people-page .profile .img {
        flex: auto;
    }
    .people-page .profile .img img {
        /* height: 375px;
        object-fit: cover;
        object-position: center; */
    }
    .people-page .main-visual {
        padding-bottom: 20px;
    }
    .people-page .profile .sub-tl {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        text-align: center;
    }
    .people-page .profile .sub-tl .no {
        margin-left: 30px;
    }
    .people-page .profile h2 {
        font-size: 3.6rem;
        padding-bottom: 30px;
        padding-top: 0;
        margin-right: -15px;
    }
    .people-page .items .item .txt {
       flex: auto;
       font-size: 1.8rem;
       line-height: 2;
       padding: 0;
    }
    .people-page .items .item .txt .inner-txt {
        padding: 0 35px;
    }
    .people-page .items .item .img {
        width: 100%;
        padding-left: 35px;
        padding-top: 30px;
        padding-bottom: 40px;
    }
    .people-page .items {
        padding-top: 40px;
        padding-bottom: 70px;
    }
    .people-page .items h3 {
        padding-top: 0;
    }
}
@media(max-width:374px){
    .people-page .profile .txt {
        padding: 0 15px;
    }
     .people-page .items .item .txt .inner-txt {
        padding: 0 15px;
    }
    .people-page .profile h2 {
        font-size: 3.2rem;
    }
}
/*
==============================================================
====================== End people-page =======================
==============================================================
*/
/*
==============================================================
====================== work-style-page =======================
==============================================================
*/
.work-style-page .content h3 {
    font-family: "Noto Serif JP", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", serif;
    font-size: 3.6rem;
    line-height: 1.55;
    letter-spacing: 0.1em;
    padding-top: 0px;
    padding-bottom: 40px;
    font-weight: 500;
    text-align: center;
}
.work-style-page .content .top-box .container{
    max-width: 820px;
}
.work-style-page .content .top-box {
    padding-bottom: 75px;
    font-size: 1.5rem;
    line-height: 2.66;
}
.work-style-page .content .anchor-group li a {
    background: #ED8D8D;
    transition: .3s;
}
.work-style-page .content .anchor-group li:last-child a {
    background: #56A5D6;
}
.work-style-page .content .anchor-group li a:hover {
    opacity: .7;
}
.work-style-page .content ul li .inner-item {
    display: flex;
    flex-wrap: wrap;
    max-width: 700px;
    margin: 0 auto;
    padding-bottom: 30px;
}
.work-style-page .content .content-box h3 {
    line-height: 1;
    padding-bottom: 80px;
}
.work-style-page .content .content-box h3 span {
    font-size: 3rem;
    background: #ED8D8D;
    padding: 0;
    line-height: 1;
    color: #fff;
    padding: 16px 20px;
    min-width: 360px;
    display: inline-block;
}
.work-style-page .content .content-box h3 span.lb-sp {
    padding: 0;
    min-width: 0;
}
.work-style-page .content .content-box.bg2 h3 span {
    background: #56A5D6;
}
.work-style-page .content ul li .inner-item .img {
    width: 168px;
}
.work-style-page .content ul li .inner-item .txt {
    flex: 1;
    padding-left: 35px;
    font-size: 1.5rem;
    line-height: 2.1;
    letter-spacing: -0.02em;
}
.work-style-page .content ul li .inner-item .txt h4 {
    font-family: "Noto Serif JP", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", serif;
    font-size: 2.6rem;
    line-height: 1.55;
    letter-spacing: 0.1em;
    padding-top: 0px;
    padding-bottom: 10px;
    font-weight: 500;
}
.work-style-page .content ul li .inner-item .img img {
    width: 100%;
}
.work-style-page .content-box {
    position: relative;
}
.work-style-page .content-box::before{
    content: "";
    position: absolute;
    top: 18px;
    z-index: -1;
}
.work-style-page .content-box.bg1::before {
    height: 588px;
    background: linear-gradient(to bottom, #FFEAEA 0%, #FFEEE0 100%);
    right: 0;  
    left: calc((100vw - 1068px) / 2);
}
.work-style-page .content-box.bg2::before {
    background: linear-gradient(to bottom, #EAF8FF 0%, #E0FFF9 100%);
    height: 100%;
    left: 0;
    right: calc((100vw - 1068px) / 2);
}
.work-style-page .content-box {
    padding-bottom: 100px;
}
.work-style-page .content-box .txt-box {
    padding-top: 50px;
    font-size: 1.5rem;
    line-height: 2.1;
}
.work-style-page .content .content-box.bg1 .txt-box h3 {
    padding-bottom: 20px;
    font-size: 2.6rem;
}
.work-style-page .content .content-box.bg2 ul li .inner-item .img {
    width: 38%;
}
.work-style-page .content .content-box.bg2 ul li .inner-item {
    max-width: 900px;
    margin: 0 auto;
    padding-bottom: 0;
}
.work-style-page .content .content-box.bg2 ul li .inner-item .txt {
    letter-spacing: 0;
    padding-left: 64px;
}
.work-style-page .content-box.bg2 {
    padding-bottom: 65px;
    margin-bottom: 100px;
}
@media(max-width:1088px) {
    .work-style-page .content-box.bg1::before {
        left: 20px;
    }
    .work-style-page .content-box.bg2::before {
        right: 20px;
    }
}
@media(max-width:750px){
    .work-style-page .content h3 {
        font-size: 3rem;
        line-height: 1.46;
        padding-bottom: 30px;
    }
    .work-style-page .content-box.bg1::before {
        left: 0px;
    }
    .work-style-page .main-visual {
        padding-bottom: 40px;
    }
    .work-style-page .content .top-box {
        font-size: 1.8rem;
        line-height: 2;
        padding-bottom: 40px;
    }
    .work-style-page .content .content-box h3 span {
        line-height: 1.33;
        min-width: 302px;
    }
    .work-style-page .content-box.bg1::before {
        top: 55px;
    }
    .work-style-page .content .content-box h3 span.lb-sp {
        padding: 0;
        display: block;
        min-width: unset;
    }
    .work-style-page .content-box.bg2::before {
        right: 0;
    }
    .work-style-page .content ul li .inner-item .img {
        width: 100%;
        text-align: center;
    }
    .work-style-page .content ul li .inner-item .img img {
        width: 168px;
    }
    .work-style-page .content ul li .inner-item .txt h4 {
        text-align: center;
    }
    .work-style-page .content ul li .inner-item .txt {
        font-size: 1.8rem;
        line-height: 2;
        padding-left: 0;
    }
    .work-style-page .content ul li .inner-item .txt {
        flex: auto;
    }
    .work-style-page .content-box.bg1::before {
        height: 1160px;
    }
    .work-style-page .content ul li .inner-item {
        padding-bottom: 20px;
    }
    .work-style-page .content .content-box.bg1 .txt-box h3 {
        line-height: 1.33;
        margin: 0 -30px;
    }
    .work-style-page .content .txt-box {
        margin: 0 -30px;
    }
    .work-style-page .content-box {
        padding-bottom: 85px;
    }
    .work-style-page .content-box::before {
        top: 30px;
    }
    .work-style-page .content .content-box.bg2 ul li .inner-item .img {
        width: 100%;
    }
    .work-style-page .content .content-box.bg2 ul li .inner-item .txt {
        padding-left: 0;
    }
    .work-style-page .content .content-box.bg2 ul li .inner-item .img img {
        width: 100%;
    }
    .work-style-page .content .content-box h3 {
        padding-bottom: 50px;
    }
   .work-style-page .content .content-box.bg2 h3 {
        padding-bottom: 30px;
   }
   .work-style-page .content ul li .inner-item .txt h4 {
    padding-top: 35px;
   }
   .work-style-page .content-box.bg2 {
    padding-bottom: 10px;
   }
}
/*
==============================================================
=================== End work-style-page ======================
==============================================================
*/
.recruit-page  {
    padding-bottom: 20px;
}
.recruit-page .nav-tabs {
    list-style: none;
    display: flex;
    justify-content: center;
    padding: 0;
    margin: 0;
    font-size: 2.6rem;
    padding-bottom: 100px;
    font-weight: 400;
    letter-spacing: 0.1em;
    font-family: "Noto Serif JP", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", serif;
  }
.recruit-page .nav-tabs li {
    padding: 20px 20px 36px;
    cursor: pointer;
    background: rgba(84, 197, 205, 0.2);
    margin: 0 1px;
    width: 33.33%;
    color: #fff;
    position: relative;
    text-align: center;
    transition: .3s;
}
.recruit-page .nav-tabs li.bg1 {
    background: rgba(40, 135, 186, 0.2);
}
.recruit-page .nav-tabs li.bg2 {
    background: rgba(41, 77, 138, 0.2);
}
.recruit-page .nav-tabs li:hover {
    background: #54C4CD;
}
.recruit-page .nav-tabs li.bg1:hover {
    background: #2887BA;
}
.recruit-page .nav-tabs li.bg2:hover {
    background: #294C8A;
}
.recruit-page .nav-tabs li::after{
    content: "";
    position: absolute;
    width: 12px;
    height: 9px;
    border-top: 9px solid #fff;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    bottom: 30px;
    left: 50%;
    margin-left: -6px;
}
.recruit-page .nav-tabs li.active {
    background: #54C4CD;
}
.recruit-page .nav-tabs li.bg1.active {
    background: #2887BA;
}
.recruit-page .nav-tabs li.bg2.active {
    background: #294C8A;
}
.recruit-page .tab-content {
    display: none;
    border-top: none;
    background: #fff;
}
.recruit-page .tab-content.active {
  display: block;
}
.recruit-page .tab-content ul li {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #BEBEBE;
    padding: 28px 0 20px 0px;
    line-height: 2.1;
    position: relative;
}
.recruit-page .tab-content ul li:last-child {
    border-bottom: unset
}
.recruit-page .tab-content ul li .lbl {
    width: 276px;
    font-weight: 600;
    padding-left: 30px;
    position: relative;
    font-family: "Noto Serif JP", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", serif;
}
.recruit-page .tab-content ul li::before{
    content: "";
    position: absolute;
    width: 276px;
    height: 1px;
    background: #54C4CD;
    left: 0;
    top: -1px;
    background: #A8E1E6;
}
.recruit-page .tab-content ul li .desc {
    flex: 1;
    padding-left: 30px;
}
.recruit-page .tab-content ul li .desc.fm1 {
    letter-spacing: -0.07em
}
.recruit-page .tab-content ul li .desc a {
    color: #048FC9;
    text-decoration: underline;
    transition: .3s;
} 
.recruit-page .tab-content ul li .desc a:hover {
    text-decoration: unset;
}
.recruit-page .tab-content ul li.fm1 {
    border-top: 1px solid #A6A6A6;
    border-bottom: 1px solid #A6A6A6;
}
.recruit-page .btn-box {
    text-align: center;
    padding: 60px 0;
}
.recruit-page .btn-box .btn {
    background: #FF0000;
    font-size: 2.6rem;
    min-width: 350px;
    padding: 22px 20px 22px;
    color: #fff !important;
    text-decoration: unset !important;
}
.recruit-page .btn-box .btn:hover{
    background: #000;
}
.recruit-page .btn-box .btn::after,
.recruit-page .btn-box .btn::before {
    display: none;
}
.recruit-page .btn-box  .txt {
    padding-bottom:55px;
}
.recruit-page .tab-content ul li .desc .btn-box {
    display: flex;
    flex-wrap: wrap;
    padding: 15px 0 0;
}
.recruit-page .tab-content ul li .desc .btn-box a {
    color: #499EBA;
    text-decoration: unset;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1;
    min-width: 204px;
    background: #B8E1EF;
    padding: 18px 15px;
    margin-right: 10px;
    margin-bottom: 10px;
    transition: .3s;
    /* pointer-events: none; 
    cursor: default;        */
}
.recruit-page .tab-content ul li .desc .btn-box a:hover {
    background: #499EBA;
    color: #B8E1EF;
}
.recruit-page .content .banner h2 {
    font-family: "Noto Serif JP", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", serif;
    font-size: 3.6rem;
    line-height: 1.55;
    letter-spacing: 0.1em;
    font-weight: 500;
    text-align: center;
    padding: 99px 0;
}
.recruit-page .content .banner {
    background: url(../img/recruit/banner.jpg) no-repeat;
    background-size: cover !important;
    background-position: center !important;
}
.recruit-page.page02 .content .banner {
    background: url(../img/recruit/banner01.jpg) no-repeat;
}
.recruit-page .content h3 {
    font-family: "Noto Serif JP", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", serif;
    font-size: 3.1rem;
    line-height: 1.55;
    letter-spacing: 0.1em;
    font-weight: 500;
    text-align: center;
    padding: 90px 0 40px;
    margin: 0 -30px;
}
.recruit-page .content .sub-tl {
    text-align: center;
    font-size: 2rem;
    letter-spacing: 0.05em;
    font-weight: 500;
    padding-bottom: 20px;
}
.recruit-page .content .txt {
    font-size: 1.5rem;
    line-height: 2.66;
}
.recruit-page .content .txt .cl1 {
    color: #EF6363;
}
.recruit-page .content .txt a {
    font-weight: 500;
    color: #005B77;
    text-decoration: underline;
}
.recruit-page .content .txt .img img {
    width: 100%;
}
.recruit-page .content .txt .img {
    padding-top: 50px;
    padding-bottom: 45px;
}
.recruit-page .content .txt h4 {
    font-size: 2rem;
    letter-spacing: 0.05em;
    font-weight: 500;
    color: #EF6363;
    padding-bottom: 10px;
}
.recruit-page .content .txt ul li {
    line-height: 2.1;
    display: flex;
    flex-wrap: wrap;
}
.recruit-page .content .txt ul {
    border-top: 1px solid #BEBEBE;
    padding-bottom: 30px;
}
.recruit-page .content .txt ul li .lbl {
    width: 145px;
    display: block;
    background: #F0F0F0;
    border-bottom: 1px solid #BEBEBE;
    border-left: 1px solid #BEBEBE;
    border-right: 1px solid #BEBEBE;
    padding: 38px 30px;
    display: flex;
    align-items: center;
    font-weight: 500;
}
.recruit-page .content .txt ul li .desc {
    flex: 1;
    border-bottom: 1px solid #BEBEBE;
    border-right: 1px solid #BEBEBE;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 20px;
    padding-right: 20px;
}
.recruit-page .fw-md {
    font-weight: 500;
}
.recruit-page .content-inner .container {
    max-width: 800px;
}
.recruit-page .content-inner .txt-box {
    background: #FFF8F8;
    text-align: center;
    padding: 40px 20px;
    line-height: 2.66;
}
.recruit-page .content-inner .txt-box p {
    line-height: 2.1;
    padding-bottom: 15px;
}
.recruit-page .content-inner .txt-box h4 {
    font-size: 2rem;
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 500;
    padding-bottom: 30px;
}
.recruit-page .content-inner .txt-box .cl1 {
    color: #EF6363;
    font-weight: 500;
    padding-bottom: 10px;
}
.recruit-page .content-inner .txt-box .img-cl {
    padding-top: 35px;
    padding-bottom: 20px;
}
.recruit-page .content-inner .txt-box .img-cl img {
    max-width: 195px;
    width: 100%;
}
.recruit-page .content-inner table {
    width: 100%;
    border-spacing: 0 !important;
    border-top: 1px solid #BEBEBE;
    border-left: 1px solid #BEBEBE;
    margin: 35px 0;
} 
.recruit-page .content-inner th, 
.recruit-page .content-inner td {
  border-bottom: 1px solid #BEBEBE;
  border-right: 1px solid #BEBEBE;
  border-spacing: 0 !important;
  font-weight: 500;
  text-align: center;
  padding: 8px;
}
.recruit-page .content-inner th {
    width: 18%;
    background: #F0F0F0
}
.recruit-page .content-inner .txt-box a {
    color: #005B77;
    transition: .3s;
}
.recruit-page .content-inner .txt-box a:hover {
    color: rgba(0, 91, 119, 0.5);
}
.recruit-page .content-inner .txt-box .logo img {
    max-width: 136px;
}
.recruit-page.page02 .content-inner {
    padding-bottom: 40px;
}
@media(max-width: 1100px){
    .recruit-page .tab-content ul li .lbl {
        width: 180px;
    }
    .recruit-page .tab-content ul li::before {
        width: 180px;
    }
}
@media(max-width: 860px){
    .recruit-page .nav-tabs li {
        padding: 14px 20px 30px;
    }
    .recruit-page .nav-tabs li::after {
        bottom: 25px;
    }
    .recruit-page .nav-tabs {
        padding-bottom: 50px;
    }
    .recruit-page .tab-content ul li {
        padding: 28px 15px 20px;
    }
}
@media(max-width:750px){
    .recruit-page .nav-tabs {
        flex-wrap: wrap;
    }
    .recruit-page .nav-tabs li {
        width: 100%;
        margin: 0 0 3px;
    }
    .recruit-page .nav-tabs {
        padding-bottom: 70px;
    }
    .recruit-page .tab-content ul li {
        font-size: 1.8rem;
        line-height: 2.1;
    }
    .recruit-page .fw-md {
        font-weight: 700;
    }
    .recruit-page .tab-content ul li .lbl {
        width: 100%;
    }
    .recruit-page .tab-content ul li .desc {
        flex: auto;
    }
    .recruit-page .tab-content ul li::before {
        width: 114px;
    }
    .recruit-page .tab-content ul li .desc,
    .recruit-page .tab-content ul li .lbl,
    .recruit-page .tab-content ul li {
        padding-left: 0;
    }
    .recruit-page .tab-content ul li .desc p{
        margin-right: -10px;
    }
    .recruit-page .tab-content ul li {
        padding: 13px 0px 11px;
    }
    .recruit-page .tab-content ul li .desc .btn-box a {
        margin: 0 0 10px;
        width: 100%;
        min-width: 100%;
        font-size: 1.8rem;
        padding: 26px 0;
    }
    .recruit-page .btn-box {
        padding: 40px 0;
    }
    .recruit-page .btn-box .btn {
        min-width: 302px;
        padding: 32px 20px;
    }
    .recruit-page .content h3 {
        font-size: 3rem;
        margin: 0 -30px;
    }
    .recruit-page .content .sub-tl {
        font-size: 2.2rem;
        margin: 0 -30px;
    }
    .recruit-page .content .txt {
        font-size: 1.8rem;
        line-height: 2;
    }
    .recruit-page .content h3 {
        font-size: 3rem;
    }
    .recruit-page .content .txt .img {
        margin: 0 -35px;
        padding-top: 40px;
        padding-bottom: 25px;
    }
    .recruit-page .content .txt ul li .lbl {
        width: 100%;
        font-weight: 500;
    }
    .recruit-page .content .txt ul li .desc {
        flex: auto;
        border-left: 1px solid #BEBEBE;
    }
    .recruit-page .content .txt ul li .desc {
        font-size: 1.6rem;
        padding: 13px 20px;
    }
    .recruit-page .content .txt ul li .lbl {
        padding: 13px 20px;
    }
    .recruit-page .content-inner .txt-box h4 {
        padding-bottom: 25px;
    }
    .recruit-page .content-inner .txt-box .cl1 {
        padding-bottom: 0;
        line-height: 1.5;
    }
    .recruit-page .content-inner .txt-box {
        font-size: 1.8rem;
        line-height: 2;
    }
    .recruit-page .content-inner .txt-box .img-cl {
        padding-top: 22px;
    }
    .recruit-page .content-inner th {
        width: 12%;
    }
    .recruit-page .content-inner td {
        width: 44%;
    }
    .recruit-page .content-inner th, .recruit-page .content-inner td {
        border-bottom: 1px solid #BEBEBE;
        border-right: 1px solid #BEBEBE;
        border-spacing: 0 !important;
        font-weight: 500;
        text-align: center;
        padding: 11px 00px;
    }
    .recruit-page .content-inner .txt-box .logo img {
        max-width:192px;
        margin-bottom: -20px;
    }
    .recruit-page.page02 .content-inner {
        padding-bottom: 35px;
    }
}
@media(max-width:374px){
    .recruit-page .content h3,
    .recruit-page .content .sub-tl,
    .recruit-page .content .txt .img {
        margin: 0 -15px;
    }
    .recruit-page .content .txt a {
        min-width: 100%;
    }
}
/*
==============================================================
===================== End recruit-page =======================
==============================================================
*/
 svg {
      width: 100%;
      height: auto;
      display: block;
    }

path {
    stroke: #FF0000;
    fill: none;
    stroke-width: 1;
    stroke-dasharray: 0;
    stroke-dashoffset: 0;
}
.animate path {
     animation: draw 3s ease forwards;
}
@keyframes draw {
    to {
        stroke-dashoffset: 0;
    }
}
/*
==============================================================
========================= job-page ===========================
==============================================================
*/
.job-page .main-visual {
    background: url(../img/job/banner-bg.jpg) no-repeat;
    background-size: cover;
    background-position: top;
    padding-bottom: 65px;
}
.job-page .banner {
    position: relative;
}
.job-page .banner img{
    height: 250px;
    object-fit: cover;
    object-position: center;
    width: 100%;
}
.job-page .banner h3 {
    position: absolute;
    top: 100%;
    z-index: 1;
    left: 0;
    right: 0;
    text-align: center;
    margin-top: -31px;
}
.job-page .container {
    max-width: 770px;
}
.job-page .banner h3 span {
   line-height: 1;
    font-size: 3rem;
    background: #5BBEDD;
    display: inline-block;
    color: #fff;
    min-width: 190px;
    text-align: center;
    padding: 16px 35px;
    font-weight: 500;
    font-family: "Noto Serif JP", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", serif;
}
.job-page .content {
    padding-bottom: 80px;
    /* background: url(../img/job/bg.png) no-repeat;
    background-size: 100% !important;
    background-position: 0 70%; */
}
.job-page .content .decor-image {
    width: 100%;
    height: 100%;
    position: absolute;
    background: url(../img/job/bg.png) no-repeat;
    background-size: 100% !important;
    background-position: 0 70%;
    top: 0;
    left: 0;
    z-index: -1;
}
.job-page .content.page03 .decor-image{
    background: url(../img/job/bg3.png) no-repeat;
    background-position: bottom;
}
.job-page .content h3 {
    font-family: "Noto Serif JP", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", serif;
    font-size: 3.2rem;
    line-height: 1.55;
    letter-spacing: 0.1em;
    font-weight: 500;
    text-align: center;
    padding: 90px 0 40px;
}
.job-page .content  .txt {
    font-size: 1.5rem;
    line-height: 2.66;
}
.job-page .content .items {
    width: 90%;
    display: flex;
    flex-wrap: wrap;
    margin: 0 -25px;
    padding-top: 20px;
}
.job-page .content .items.w100 {
    width: auto;
}
.job-page .content .items.w100 .item {
    width: 33.33%;
}
.job-page .content .items.odd {
    margin-left: auto;
}
.job-page .content .items .item {
    width: 50%;
    padding: 25px;
}
.job-page .content .items .item .img {
    position: relative;
}
.job-page .content .items .item .img img {
    width: 100%;
}
.job-page .content .items .item .img h4 {
    font-size: 2.2rem;
    background: #000;
    color: #ffff;
    font-family: "Noto Serif JP", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", serif;
    display: inline-block;
    line-height: 1;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
    padding: 14px 18px;
    font-weight: 400;
}
.job-page .content .items .item .txt {
    font-size: 1.5rem;
    line-height: 2.1;
    padding-top: 40px;
}
.job-page .banner h3.bg1 span {
    background: #FC9999;
} 
.job-page .banner h3.bg2 span {
    background: #AAD566;
} 
.job-page .banner h3 .lb-sp {
        min-width: unset;
        padding: 0 !important;
    }
@media(max-width:750px){
    .job-page .content .items {
        width: 100%;
        margin: 0;
        padding: 0;
    }
    .job-page .banner h3 .lb-sp {
        display: block;
    }
    .job-page .content .items .item {
        width: 100%;
        padding: 0 0 45px;
    }
    .job-page .content.pt5-sp h3 {
        padding-top:140px;
    }
    .job-page .content.pt5-sp {
        background: url(../img/job/bg-sp.png) no-repeat;
        background-position: 0 11%;
    }
    .job-page .content.page03 {
        background: url(../img/job/bg-sp.png) no-repeat;
        background-position: 0 47%;
    }
    .job-page .content .txt {
        padding-bottom: 40px;
        font-size: 1.8rem;
        line-height: 2;
    }
    .job-page .banner img {
        height: auto;
    }
    .job-page .content .items .item .txt {
        padding: 30px 0 0;
        font-size: 1.8rem;
        line-height: 2;
    }
    .job-page .content {
        padding-bottom: 0px;
    }
    .job-page .content {
        background: url(../img/job/bg-sp.png) no-repeat;
        background-position: 0 16%;
    }
    .job-page .content h3 {
        font-size: 3rem;
        padding-bottom: 30px;
        padding-top: 75px;
    }
    .job-page .content .items.w100 .item {
        width: 100%;
    }
}
/*
==============================================================
======================= End job-page =========================
==============================================================
*/

.recruit-page .tab-content .add_box01 {
    max-width: 500px;
    margin: 30px auto 50px;
    padding: 30px;
    border: 1px solid #333;
}
.recruit-page .tab-content h3 {
    text-align: center;
    margin: 20px 0 20px;
    font-family: "Noto Serif JP", "Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ", serif;
    font-size: 20px;
}
.recruit-page .tab-content .add_box01 h4 {
    text-align: center;
    margin: 0 0 20px;
}
.recruit-page .tab-content .add_box01 h5 {
    text-align: center;
    margin: 0 0 10px;
}
@media(max-width:750px){
    .recruit-page .tab-content .add_box01 {
        margin: 20px auto 30px;
        padding: 15px;
    }
    .recruit-page .tab-content h3 {
        font-size: 19px;
    }
    .recruit-page .tab-content .add_box01 h4 {
        text-align: center;
        margin: 0 0 20px;
    }
    .recruit-page .tab-content .add_box01 h5 {
        text-align: center;
        margin: 0 0 10px;
    }
}