@charset'UTF-8';
/*
    .pc-none {
        display: none !important;
    }
    .sp-none {
        display: block !important;
    }

    .pc02 {
        display: none !important;
    }
    .sp02 {
        display: block !important;
    }
*/

body {
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
    background: #fff;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}


/*
@media (max-width:1200px)
{
    .pc-none {
        display: block !important;
    }
    .sp-none {
        display: none !important;
    }
}
*/
dl.dl-horizontal
{
    margin-bottom: 0;
}
dl.dl-horizontal dt
{
    float: left;
    overflow: hidden;

    width: 140px;
    padding-right: 20px;

    text-align: left;
    white-space: normal;
    text-overflow: inherit;
}
dl.dl-horizontal dd
{
    margin-bottom: 0;
    margin-left: 140px;
}
dl.dl-horizontal dd ol
{
    margin: 0;
    padding: 20px;
}
dl.dl-horizontal dd ol li
{
    line-height: 120%;

    margin-bottom: .8rem;
}
dl.dl-horizontal dd,
dl.dl-horizontal dt
{
    line-height: 180%;

    padding: 10px 0;

    text-align: justify;
}
@media (max-width:767px)
{
    dl.dl-horizontal dd,
    dl.dl-horizontal dt
    {
        float: none;

        width: auto;
        margin-left: 0;
        padding: 5px 0;

        border: none;
    }
}
.badge
{
    font-weight: 400;
    line-height: 120%;

    padding: 4px 5px 2px;

    border-radius: 0;
}
.badge:active,
.badge:focus,
.badge:hover
{
    text-decoration: none;
}
.badge.badge-white
{
    color: #111;
    background-color: #fff;
}
.badge-tags:before
{
    content: '#';
}
.badge.badge-outline
{
    color: #000;
    border-width: 1px;
    border-style: solid;
    border-color: #000;
    background: #fff;
}
.badge.badge-outline.badge-primary
{
    color: #2b2b2b;
    border-color: #2b2b2b;
}
.badge.badge-outline.badge-success
{
    color: #36db7f;
    border-color: #36db7f;
}
.badge.badge-outline.badge-info
{
    color: #3897ee;
    border-color: #3897ee;
}
.badge.badge-outline.badge-warning
{
    color: #ffe182;
    border-color: #ffe182;
}
.badge.badge-outline.badge-danger
{
    color: #f17a7a;
    border-color: #f17a7a;
}
a.badge.badge-outline
{
    -webkit-transition: all .4s cubic-bezier(.165,.84,.44,1);
            transition: all .4s cubic-bezier(.165,.84,.44,1);
    -webkit-transition-timing-function: cubic-bezier(.165,.84,.44,1);
            transition-timing-function: cubic-bezier(.165,.84,.44,1);
    -webkit-transition-property: color,border-color,background-color;
            transition-property: color,border-color,background-color;
}
a.badge.badge-outline:hover
{
    color: #fff;
    border-color: #000;
    background-color: #000;
}
a.badge.badge-outline:hover.badge-primary
{
    color: #fff;
    border-color: #2b2b2b;
    background-color: #2b2b2b;
}
a.badge.badge-outline:hover.badge-success
{
    color: #fff;
    border-color: #36db7f;
    background-color: #36db7f;
}
a.badge.badge-outline:hover.badge-info
{
    color: #fff;
    border-color: #3897ee;
    background-color: #3897ee;
}
a.badge.badge-outline:hover.badge-warning
{
    color: #fff;
    border-color: #ffe182;
    background-color: #ffe182;
}
a.badge.badge-outline:hover.badge-danger
{
    color: #fff;
    border-color: #f17a7a;
    background-color: #f17a7a;
}
.tab--wrapper .tab--nav ul
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin: 0;
    margin-bottom: 20px;
    padding: 0;

    list-style: none;

    border-bottom: 1px solid #ddd;
}
.tab--wrapper .tab--nav ul li
{
    margin-bottom: -1px;
}
.tab--wrapper .tab--nav ul li a
{
    display: block;

    margin-right: 3px;
    padding: 5px 20px;

    text-decoration: none;

    border: 1px solid #ddd;
    border-bottom: none;
    border-radius: 3px 3px 0 0;
    background-color: #f8f8f8;
}
.tab--wrapper .tab--nav ul li a:hover
{
    background-color: #eee;
}
.tab--wrapper .tab--nav ul li a.tab--active
{
    background-color: #fff;
}
.tab--wrapper .tab--pane
{
    display: none;
}
.tab--wrapper .tab--pane.tab--active
{
    display: block;
}
.accordion--wrapper
{
    border-bottom: 1px solid #9a9d9f;
}
.accordion--wrapper .accordion--trigger
{
    font-weight: 700;

    padding: 10px 20px;

    cursor: pointer;

    border: 1px solid #9a9d9f;
    border-bottom: none;
}
.accordion--wrapper .accordion--trigger:active,
.accordion--wrapper .accordion--trigger:focus,
.accordion--wrapper .accordion--trigger:hover
{
    background-color: #f3f4f5;
}
.accordion--wrapper .accordion--trigger.accordion--active
{
    background-color: #f3f4f5;
}
.accordion--wrapper .accordion--content
{
    overflow: hidden;
}
.accordion--wrapper .accordion--content.accordion--active .accordion-inner
{
    border: 1px solid #9a9d9f;
    border-bottom: none;
}
.accordion--wrapper .accordion--content .accordion-inner
{
    padding: 10px 20px;
}
.bg-white
{
    background-color: #fff;
}
.bg-gray
{
    background-color: #f5f4f3;
}
.bg-secondary
{
    background-color: #ec4c4c;
}
#page
{
    width: 100%;
}

/*---------------------ページ読み込み時のぐわっとなるアニメのcss----------------*/
#loading-wrapper
{
    position: fixed;
    z-index: 10002;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
}
#loading-wrapper #loading1
{
    position: fixed;
    z-index: 10003;
    top: 0;
    left: -30%;

    width: 170%;
    height: 100%;

    -webkit-transform: skew(-25deg,0);
            transform: skew(-25deg,0);

    background-color: rgba(0,0,0,.7);
}
#loading-wrapper #loading2
{
    position: fixed;
    z-index: 10002;
    bottom: 0;
    left: -30%;

    width: 170%;
    height: 100%;

    -webkit-transform: skew(-15deg,0);
            transform: skew(-15deg,0);

    background-color: #111;
}


/*---------------------ページ読み込み時の上部にアニメする線のcss----------------*/

#loading-wrapper #progress
{
    position: fixed;
    z-index: 10003;
    top: 0;
    left: 0;

    width: 0;
    height: 4px;

    background-color: #ec4c4c;
}

/*---------------------ページ読み込み時の上部にアニメする線のcss----------------*/


#header
{
    position: fixed;
    z-index: 1000000;
    top: 0;
    right: 0;
    left: 0;

    width: 100%;
    margin: auto;

    transition: all .5s;
}
#header.fixed
{
    color: #000;
}

#header.fixed a
{
    color: #000;
}
#header.headroom--not-top #header--bg::before
{
    -webkit-transform: translateY(0);
            transform: translateY(0);

    -webkit-box-shadow: 0 0 3px rgba(0,0,0,.1)!important;
            box-shadow: 0 0 3px rgba(0,0,0,.1)!important;
}
#header.headroom--not-top #header--logo h1 a
{
    color: #111;
}
#header.headroom--not-top #header--logo h1 span
{
    color: #888;
}
#header.headroom--not-top #header--logo h1 svg
{
    fill: #111;
}
#header.headroom--not-top #gnav ul li a,
#header.headroom--not-top #header--sns ul li a
{
    color: #111;
}
#header.headroom--not-top #gnav ul li a span:before
{
    background-color: #111;
}
#header #header--bg
{
    /*width: 1400px;*/
    position: relative;
    z-index: 2;

    height: 85px;
    margin: 0 auto;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;

    background: #fff;
}
/*#header #header--bg:before
{
    position: absolute;
    top: 87px;
    left: 0;

    width: 100%;
    height: 100%;

    content: '';
    -webkit-transition: all .2s cubic-bezier(.19,1,.22,1);
            transition: all .2s cubic-bezier(.19,1,.22,1);
    -webkit-transition-timing-function: cubic-bezier(.19,1,.22,1);
            transition-timing-function: cubic-bezier(.19,1,.22,1);
    -webkit-transform: translateY(-101%);
            transform: translateY(-101%);
    -webkit-box-shadow: 0 0 3px rgba(0,0,0,.1);
            box-shadow: 0 0 3px rgba(0,0,0,.1);
}*/


/****k
@media (max-width:1199px)
{
    #header #header--bg
    {
        height: 72px;
        padding: 15px 25px;
    }
}
@media (max-width:991px)
{
    #header #header--bg
    {
        padding: 18px 25px;
    }
}
@media (max-width:575px)
{
    #header #header--bg
    {
        height: 55px;
        padding: 10px;
    }
}
*/


#header #header--bg > .d-flex
{
    position: relative;
    z-index: 3;

    height: 100%;
}
#header #header--logo
{
    position: relative;
    left: 0;

    max-width: 350px;

    -ms-flex: 0 0 350px;
    -webkit-box-flex: 0;
        flex: 0 0 350px;
    margin-left: 10px;
}

#header #header--logo img.black
{
    display: none;
}
#header.fixed #header--logo img.black
{
    display: block;
}

#header #header--logo img.white
{
    display: block;
}
#header.fixed #header--logo img.white
{
    display: none;
}

#header #header--logo h1
{
    font-size: 1rem;
    line-height: 100%;

    margin: 0;
}
#header #header--logo h1 a
{
    font-weight: 500;

    -webkit-transition: all .2s cubic-bezier(.19,1,.22,1);
            transition: all .2s cubic-bezier(.19,1,.22,1);
    -webkit-transition-timing-function: cubic-bezier(.19,1,.22,1);
            transition-timing-function: cubic-bezier(.19,1,.22,1);

    color: #fff;
}
#header #header--logo h1 a span
{
    font-family: heisei-kaku-gothic-std,'ヒラギノ角ゴ ProN W3','Hiragino Kaku Gothic ProN','游ゴシック体','Yu Gothic',YuGothic,'メイリオ',Meiryo,sans-serif;
    font-size: 12px;

    display: block;

    margin-bottom: 5px;

    color: #fff;
}

/*k
@media (max-width:1199px)
{
    #header #header--logo h1 a span
    {
        font-size: 12px;

        margin-bottom: 3px;
    }
}
@media (max-width:575px)
{
    #header #header--logo h1 a span
    {
        font-size: 10px;
    }
}
#header #header--logo h1 a:active,
#header #header--logo h1 a:focus,
#header #header--logo h1 a:hover
{
    text-decoration: none;
}
#header #header--logo h1 svg
{
    display: block;

    width: 200px;

    -webkit-transition: all .2s cubic-bezier(.19,1,.22,1);
            transition: all .2s cubic-bezier(.19,1,.22,1);
    -webkit-transition-timing-function: cubic-bezier(.19,1,.22,1);
            transition-timing-function: cubic-bezier(.19,1,.22,1);
    -webkit-transition-property: fill;
            transition-property: fill;

    fill: #fff;
}
@media (max-width:1199px)
{
    #header #header--logo h1 svg
    {
        width: 160px;
    }
}
@media (max-width:575px)
{
    #header #header--logo h1 svg
    {
        width: 140px;
    }
}
*/
#page.l--page #header
{
    opacity: 1;
}
#page.l--page #header #header--bg::before
{
    -webkit-transform: translateY(0);
            transform: translateY(0);

    -webkit-box-shadow: none;
            box-shadow: none;
}
#page.l--page #header #header--logo h1 a
{
    color: #111;
}
#page.l--page #header #header--logo h1 span
{
    color: #888;
}
#page.l--page #header #header--logo h1 svg
{
    fill: #111;
}
#page.l--page #header #gnav ul li a,
#page.l--page #header #header--sns ul li a
{
    color: #111;
}
#page.l--page #header #gnav ul li a span:before
{
    background-color: #111;
}


/*--------------------------理念と行動指針の白枠-------------------------*/


#aside--posts .posts--wrapper
{
    position: relative;

    max-width: 295px;
    margin: 0 auto;
    padding-top: 30px;
    padding-right: 30px;
    padding-left: 30px;

    background-color: rgba(255,255,255,.7);
}
#aside--posts .list--column-wrapper .list--column
{
    padding: 20px 0;
}
#aside--posts .list--column-wrapper .list--column time
{
    width: 100px;

    letter-spacing: 1px;
}
/*k
@media (max-width:767px)
{
    #aside--posts .list--column-wrapper .list--column time
    {
        width: 80px;
    }
}
*/
#aside--posts .list--column-wrapper .list--column a
{
    font-size: .9rem;
    line-height: 150%;

    display: block;

    width: calc(100% - 100px);
    padding-left: 10px;

    color: #111;
}
@media (max-width:767px)
{
    #aside--posts .list--column-wrapper .list--column a
    {
        width: calc(100% - 80px);
    }
}
#aside--posts .list--column-wrapper .list--column:not(:last-child)
{
    border-bottom: 1px solid #111;
}
#aside--posts .list--qa-wrapper .list--qa
{
    padding: 20px 0;
}
#aside--posts .list--qa-wrapper .list--qa a
{
    font-size: .9rem;
    line-height: 150%;

    position: relative;

    display: block;

    padding-left: 40px;

    color: #111;
}
#aside--posts .list--qa-wrapper .list--qa a:before
{
    font-size: 1.5rem;

    position: absolute;
    top: 1px;
    left: 0;

    content: 'Q.';
}
#aside--posts .list--qa-wrapper .list--qa:not(:last-child)
{
    border-bottom: 1px solid #111;
}
#gnav
{
    height: 100%;
    padding-right: 170px;

    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

@media (max-width:1199px)
{
    #gnav
    {
        position: relative;
        top: -3px;

        padding-right: 100px;
    }
}
@media (max-width:1200px)
{
    #gnav
    {
        display: none;
    }
}

#gnav nav {
    height: 100%;
}

#gnav ul
{
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin: 0;
    padding: 0;

    list-style: none;

    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

#gnav ul li {
    height: 100%;
}

#gnav ul li a
{
    font-size: 14px;

    display: block;

    height: 100%;

    padding: 0 7px 0;

    -webkit-transition: all .4s cubic-bezier(.165,.84,.44,1);
            transition: all .4s cubic-bezier(.165,.84,.44,1);
    -webkit-transition-timing-function: cubic-bezier(.165,.84,.44,1);
            transition-timing-function: cubic-bezier(.165,.84,.44,1);
    -webkit-transition-property: color;
            transition-property: color;
    letter-spacing: -0.5px;
    font-weight: 500;
}
#gnav ul li a span
{
    position: relative;    
    overflow: hidden;
    height: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    color: #111;
}
@media (max-width:1199px)
{
    #gnav ul li a span
    {
        padding-bottom: 5px;
    }
}

#gnav ul li a span:before
{
    position: absolute;
    bottom: 0;
    left: 0;

    width: 0;
    height: 1px;

    content: '';
    -webkit-transition: all .5s cubic-bezier(.165,.84,.44,1);
            transition: all .5s cubic-bezier(.165,.84,.44,1);
    -webkit-transition-timing-function: cubic-bezier(.165,.84,.44,1);
            transition-timing-function: cubic-bezier(.165,.84,.44,1);

    opacity: 0;
    background: #fff;
}
.lower #gnav ul li a span:before
{
    position: absolute;
    bottom: 0;
    left: 0;

    width: 0;
    height: 1px;

    content: '';
    -webkit-transition: all .5s cubic-bezier(.165,.84,.44,1);
            transition: all .5s cubic-bezier(.165,.84,.44,1);
    -webkit-transition-timing-function: cubic-bezier(.165,.84,.44,1);
            transition-timing-function: cubic-bezier(.165,.84,.44,1);

    opacity: 0;
    background: #000;
}

#gnav ul li a:active,
#gnav ul li a:focus,
#gnav ul li a:hover
{
    text-decoration: none;
}
#gnav ul li a:active span:before,
#gnav ul li a:focus span:before,
#gnav ul li a:hover span:before
{
    width: 100%;

    opacity: 1;
}
@media (max-width:1199px)
{
    #gnav ul li a
    {
        font-size: 1rem;

        position: relative;
        bottom: -5px;

        padding: 6px 20px 0;
    }
}
#footer
{
    position: relative;
    z-index: 2;
    /*width: 1400px;*/
    margin: 0 auto 0;
    background-color: #EAE4E4;
}
#footer .pc{
	width: 100%;
}
#footer #footer--body
{
    padding: 60px 0 40px;
}

#footer .logo img{
	width: 55%;
}

#footer #footer--bottom .d-md-flex{
	display: block!important;
    text-align: right;
}

#footer #footer--body .container{
	display: flex;
}

#footer #footer--body .row{
	width: 90%;
    justify-content: space-between;
    margin-left: 10%;
    flex-wrap: nowrap;
}

@media (max-width:1200px)
{	#footer #footer--body .row{
	width: 100%;
    margin-left: 0;
	}
	
	#footer .logo img{
	width: 60%;
}
}

@media (max-width:768px)
{
    #footer #footer--body
    {
        padding: 60px 0 20px;
    }
	#footer #footer--body .container{
	display: block;
}
	#footer .logo img{
		width: 95%;
	}
	#footer .logo p{
		margin: 15px 0 20px;
	}
	
	#footer #footer--body .row{
	width: 100%;
	margin-left: 0;
}
	#footer .logo {
    margin: 0 auto;
    padding: 0 15px;
	}
	
	#footer .row ul{
	overflow: hidden;
	font-size: 16px
	}
	
	#footer .row li{
		float: left;
		width: 100%;
		padding: 0 15px 30px!important;
		position: relative;
	}
	
	#footer .row .col-lg-3{
		padding: 0;
	}
	
	#footer .row{
		margin: 0;
	}
}

@media (max-width:360px){
	#footer .row ul{
	overflow: hidden;
	font-size: 13px
	}

}
#footer #footer--top a
{
    position: relative;

    display: block;
    overflow: hidden;

    padding: 60px 30px;

    color: #fff;
    background-color: #111;
}
/*k
@media (max-width:991px)
{
    #footer #footer--top a
    {
        padding: 30px 20px;
    }
}
*/
#footer #footer--top a:before
{
    position: absolute;
    top: 0;
    left: 0;

    width: 0;
    height: 100%;

    content: '';
    -webkit-transition: all .4s cubic-bezier(.165,.84,.44,1);
            transition: all .4s cubic-bezier(.165,.84,.44,1);
    -webkit-transition-timing-function: cubic-bezier(.165,.84,.44,1);
            transition-timing-function: cubic-bezier(.165,.84,.44,1);

    background-color: #333;
}
#footer #footer--top a .footer--top--icon
{
    padding: 20px;

    text-align: center;

    border-right: 1px solid #fff;
}
#footer #footer--top a .footer--top--icon svg
{
    width: 70px;

    fill: #fff;
}
/*k
@media (max-width:991px)
{
    #footer #footer--top a .footer--top--icon svg
    {
        width: 50px;
    }
}
@media (max-width:991px)
{
    #footer #footer--top a .footer--top--icon
    {
        padding: 10px;

        border: none;
    }
}
*/
#footer #footer--top a .footer--top--body
{
    position: relative;

    padding: 20px 60px;
}
/*k
@media (max-width:991px)
{
    #footer #footer--top a .footer--top--body
    {
        padding: 10px 20px;
    }
}

@media (max-width:991px)
{
    #footer #footer--top a .footer--top--body:before
    {
        content: none;
    }
}
*/
#footer #footer--top a .footer--top--body:after
{
    position: absolute;
    z-index: 3;
    right: -30px;
    bottom: calc(50% - 3px);

    width: 8px;
    height: 8px;

    content: '';
    -webkit-transition: all .4s cubic-bezier(.165,.84,.44,1);
            transition: all .4s cubic-bezier(.165,.84,.44,1);
    -webkit-transition-timing-function: cubic-bezier(.165,.84,.44,1);
            transition-timing-function: cubic-bezier(.165,.84,.44,1);
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);

    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
}
/*k
@media (max-width:991px)
{
    #footer #footer--top a .footer--top--body:after
    {
        content: none;
    }
}
#footer #footer--top a:active,
#footer #footer--top a:focus,
#footer #footer--top a:hover
{
    text-decoration: none;
}
#footer #footer--top a:active:before,
#footer #footer--top a:focus:before,
#footer #footer--top a:hover:before
{
    width: 100%;
}
#footer .footer--nav
{
    margin: 0;
    margin-bottom: 20px;
    padding: 0;

    list-style: none;
}

@media (max-width:991px)
{
    #footer .footer--nav
    {
        margin-bottom: 0px;
    }
}
*/

#footer .footer--nav li
{
    padding: 5px 0;
}
#footer .footer--nav li a
{
    letter-spacing: 1.2px;

    color: #111;
    transition: all 0.5s;
}

#footer .footer--nav li:hover a {
    color: #ec4c4c;
}

#footer .footer--nav li a:active,
#footer .footer--nav li a:focus,
#footer .footer--nav li a:hover
{
    text-decoration: none;
}
#footer .footer--banner
{
    text-align: right;
}
/*k
@media (max-width:991px)
{
    #footer .footer--banner
    {
        margin-bottom: 30px;
    }
}
@media (max-width:767px)
{
    #footer .footer--banner
    {
        margin-bottom: 20px;

        text-align: center;
    }
}
*/
#footer #copyright
{
    text-align: center;
    font-size: 13px;
    line-height: 30px;
    padding-left: 10px;
    letter-spacing: 1px;
    color: #111;
    padding-bottom: 30px;
}
/*k
@media (max-width:767px)
{
    #footer #copyright
    {
        font-size: 10px;

        padding-right: 0;
        padding-bottom: 10px;
    }
}
@media (max-width:1280px)
{
    #footer #footer--sns
    {
        padding-right: 60px;
    }
}
@media (max-width:767px)
{
    #footer #footer--sns
    {
        padding-right: 0;
    }
}
*/
#footer #footer--sns ul
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin: 0;
    padding: 0;

    list-style: none;

    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
#footer #footer--sns ul li a
{
    font-size: 1.5rem;

    padding: 0 8px;

    letter-spacing: 1.2px;

    color: #fff;
}
#footer #footer--sns ul li a:active,
#footer #footer--sns ul li a:focus,
#footer #footer--sns ul li a:hover
{
    text-decoration: none;
}
#pagetop
{
    position: fixed;
    right: 20px;
    bottom: 20px;

    width: 60px;
    height: 60px;

    color: #fff;
}
#pagetop i
{
    font-size: 1.5rem;

    vertical-align: middle;
}
/*k
@media (max-width:767px)
{
    #pagetop
    {
        line-height: 45px;

        right: 10px;
        bottom: 10px;

        width: 45px;
        height: 45px;
    }
}
*/
#pagetop.headroom--not-top
{
    -webkit-transform: translateY(0);
            transform: translateY(0);

    opacity: 1;
}
#pagetop:active,
#pagetop:focus,
#pagetop:hover
{
    text-decoration: none;

    background-color: #ec0c0c;
}
/*k
@media (max-width:991px) {
    #index--under .in {
        padding: 0 !important;
    }

    .c-nav {
        padding: 0 !important;
    }

#c-nav {
    padding-top: 70px;
    margin-top: -70px;
}

}

@media (max-width:767px)
{
    span.eng {
        display: block !important;
        left: 0 !important;
    }
}

@media (max-width:575px) {

    .main-copy {
        line-height: 1.4;
    }
    .main-copy .main {
        font-size: 20px !important;
        letter-spacing: 1px !important;
    }
    .main-copy .sub {
        font-size: 12px !important;
        width: 80%;
        margin: 0 auto;
        text-align: left;
    }
}
*/

.wp-caption {
 width: 100% !important;
}
img.size-large {
 width: 100% !important;
}

/*newTop*/

.navMenu_contents {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
}
.navMenu_contents li {
    width: 100%;
}
.navMenu_contents li a {
    color: #fff;
}

.navMenu_contents .inNav {
    display: flex;
}

.navMenu_contents .inNav .navImg {
    width: 20%;
}

.navMenu_contents .inNav .navBox {
    width: 80%;
    display: flex;
    align-items: center;
    background: #ec4c4c;
    padding: 30px 60px;
}

.navMenu_contents .inNav ul {
    justify-content: flex-start !important;
    flex-flow: wrap;
    align-items: center;
}

.navMenu_contents .inNav ul li {
    width: auto;
    height: auto !important;
}

.navMenu_contents .inNav ul li a {
    position: relative;
    padding: 0 30px 0 16px !important;
    font-weight: bold !important;
    color: #fff !important;
    height: auto !important;
    -webkit-transition: ease .3s !important;
    transition: ease .3s !important;
}

.navMenu_contents .inNav ul li a:before {
    content: "";
    position: absolute;
    background: #fff;
    width: 6px;
    height: 2px;
    top: 50%;
    left: 0;
}

.navMenu_contents .inNav ul li a:hover {
    opacity: 0.6;
}

.navMenu_list a span {
    position: relative;
}

.navMenu_list a span:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    background: #EC4C4C;
    width: 100%;
    height: 4px;
    opacity: 0;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
}

.navMenu_list a:hover span:after {
    opacity: 1;
}

.inner {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
}

.mainCont {
    position: relative;
}

.mainCont h2 {
    text-align: center;
    font-size: 40px;
    line-height: 100%;
    letter-spacing: 0.3rem;
    margin-bottom: 60px;
}

.mainCont h2 span {
    font-size: 20px;
    line-height: 100%;
    letter-spacing: 0;
    color: #EC4C4C;
    display: block;
    padding: 20px 0 0;
    font-family: 'Poppins', sans-serif;
}

.mainCont .ttlTxt {
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    line-height: 26px;
    margin-bottom: 60px;
}

.mainCont .topBtn {
    margin-bottom: 0;
}

.mainCont .topBtn a {
    display: block;
    position: relative;
    border: 1px solid #EC4C4C;
    color: #EC4C4C;
    font-size: 16px;
    font-weight: bold;
    width: 250px;
    line-height: 1;
    text-align: center;
    padding: 16px 10px;
    border-radius: 100px;
    -webkit-transition: ease .3s;
    transition: ease .3s;
    text-decoration: none;
}

.mainCont .topBtn a:before {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    border: 0px;
    border-top: solid 1px #EC4C4C;
    border-right: solid 1px #EC4C4C;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 50%;
    right: 30px;
    margin-top: -4px;
    -webkit-transition: ease .3s;
    transition: ease .3s;
}

.mainCont .topBtn a:hover {
    background: #EC4C4C;
    color: #fff;
}

.mainCont .topBtn a:hover:before {
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
}

.mvTxt {
    z-index: 1;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    left: 0;
}

.mvTxt p {
    color: #fff;
    font-size: 0;
    font-weight: bold;
    max-width: 640px;
    width: 100%;
    line-height: 90px;
    letter-spacing: 30px;
    margin-left: 150px;
    margin-bottom: 0;
}

.mvTxt p::after {
    content: "|";
    animation: typinganime .8s ease infinite;
}

.mvTxt p span {
    display: none;
    font-size: 54px;
}

@keyframes typinganime{
    from{opacity:0}
    to{opacity:1}
}

.logoCont {
    position: absolute;
    top: 20px;
    right: 20px;
}

.mvLogo {
    z-index: 2;
    width: 82px;
    -webkit-animation: 6s linear infinite rotation;
    animation: 6s linear infinite rotation;
}

.mvLogo img {
    display: block;
}

@keyframes rotation{
    0%{ transform:rotate(0);}
    100%{ transform:rotate(360deg); }
}
@keyframes rotationx{
    0%{ transform:rotateX(0);}
    50%{ background:tomato; }
    100%{ transform:rotateX(360deg); }
}
@keyframes rotationy{
    0%{ transform:rotateY(0);}
    100%{ transform:rotateY(360deg); }
}
@keyframes movement{
    0%{ left:-100px;}
    100%{ left:100px; }
}

.sec01 {
    padding: 160px 0;
}

.sec01 .TextTyping {
    font-size: 0;
    font-weight: bold;
    line-height: 0;
    letter-spacing: 10px;
    margin-bottom: 0;
    margin-top: -80px;
    text-align: center;
}

.sec01 .TextTyping::after {
    content: "|";
    animation: typinganime .8s ease infinite;
}

.sec01 .TextTyping span {
    display: none;
    font-size: 40px;
}

.sec01 .bgTxt {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden;
    width: 2426px;
    height: 135px;
    z-index: 1;
}

.sec01 .bgTxt img {
    padding: 0 80px 0 0;
}

.sec01 .bgTxt img:first-child {
    -webkit-animation: loop 50s -25s linear infinite;
    animation: loop 50s -25s linear infinite;
}

.sec01 .bgTxt img:last-child {
    -webkit-animation: loop2 50s linear infinite;
    animation: loop2 50s linear infinite;
}

@keyframes loop {
    0% {
        transform: translateX(100%);
    }
    to {
        transform: translateX(-100%);
    }
}
@keyframes loop2 {
    0% {
        transform: translateX(0);
    }
    to {
        transform: translateX(-200%);
    }
}

.sec01 .inner {
    position: relative;
    z-index: 2;
}

.sec01 .content {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    gap: 20px 2%;
}
.sec01 .content a {
    width: 23.5%;
    text-decoration: none;
}

.sec01 .sp02 .content.first {
    justify-content: space-between;
    margin-bottom: 40px;
}
.sec01 .sp02 .content.first a {
    width: 49%;
}

.sec01 .content a p {
    position: relative;
    font-size: 16px;
    font-weight: bold;
    line-height: 22px;
    padding: 0 0 0 18px;
    margin-top: 16px;
    margin-bottom: 0;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
}
.sec01 .content a:hover p {
    color: #EC4C4C;
}
.sec01 .content a p:before {
    content: "";
    position: absolute;
    background: #EC4C4C;
    width: 10px;
    height: 4px;
    top: 10px;
    left: 0;
}

.sec01 .content a img {
    width: 100%;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
}
.sec01 .content a:hover img {
    opacity: 0.6;
}

.sec02 {
    position: relative;
    padding: 80px 0 160px;
}

.sec02:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 90%;
    height: 380px;
    background: #FAF8F8;
    z-index: 1;
}

.sec02 .inner {
    z-index: 2;
    position: relative;
}

.sec02 h2 {
    text-align: left;
}

.sec02 .innerList {
    width: 100%;
    max-width: 1250px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 150px;
    padding-right: 150px;
    margin-bottom: 40px;
}

.sec02 .case-list {
    position: relative;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    width: 100%;
}

.sec02 .case-list .more {
	width: 23rem;
	padding-top: 37rem;
	z-index: 1;
}

.sec02 .case-list .list {
	width: calc(100% - -70px);
	z-index: 2;
}

.sec02 #case-slick {
	width: 200%;
}
/*k
@media screen and (min-width: 1600px) {
    .sec02 #case-slick {
        width: 200%;
    }
    }
*/
    .sec02 #case-slick .box {
        display: block;
        max-width: 420px;
        margin-right: 40px;
        text-decoration: none;
        color: #434a52;
        outline: none;
    }
    .sec02 #case-slick .image {
        position: relative;
        background: #fff;
        width: 420px;
        margin-bottom: 24px;
        padding-top: 66%;
        overflow: hidden;
        -webkit-transition: 0.3s ease;
        transition: 0.3s ease;
    }
    .sec02 #case-slick .image img {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 100%;
        height: 100%;
        object-fit: cover;
        -webkit-transform: scale(1) translate(-50%, -50%);
        transform: scale(1) translate(-50%, -50%);
        z-index: 1;
        -webkit-transition: ease .3s;
        transition: ease .3s;
    }
    @media all and (-ms-high-contrast:none) {
    .sec02 #case-slick .image img {
        width: 100%;
        height: auto;
    }
    }
    .sec02 #case-slick .box:hover .sub {
        color: #EC4C4C;
    }
    .sec02 #case-slick .box:hover h3 {
        color: #EC4C4C;
    }
    .sec02 #case-slick .box:hover .txt {
        color: #EC4C4C;
    }
    .sec02 #case-slick .box:hover .image img {
        opacity: 0.8;
        -webkit-transform: scale(1.1) translate(-45%, -45%);
        transform: scale(1.1) translate(-45%, -45%);
    }
    .sec02 #case-slick .sub {
        width: 420px;
        margin-bottom: 6px;
        font-size: 14px;
        color: #A3A3A3;
        font-weight: bold;
        line-height: 1.2;
        font-family: 'Poppins', sans-serif;
        -webkit-transition: ease .3s;
        transition: ease .3s;
    }
    .sec02 #case-slick h3 {
        width: 420px;
        margin-bottom: 10px;
        font-size: 16px;
        font-weight: bold;
        line-height: 1.5;
        -webkit-transition: ease .3s;
        transition: ease .3s;
    }
    .sec02 #case-slick .txt {
        width: 420px;
        font-size: 14px;
        margin-bottom: 0;
        -webkit-transition: ease .3s;
        transition: ease .3s;
    }
    .sec02 #case-slick .ar-prev,
    .sec02 #case-slick .ar-next {
        position: absolute;
        top: 0;
        border-radius: 50px;
        width: 50px;
        height: 50px;
        margin-top: -8rem;
        font-size: 0;
        overflow: hidden;
        cursor: pointer;
        -webkit-transition: 0.3s ease;
        transition: 0.3s ease;
    }
    .sec02 #case-slick .ar-prev {
        right: calc(50% + 4rem);
        background: url(../img/top/icon-prev.svg) 0 center no-repeat;
        background-size: 50px;
    }
    .sec02 #case-slick .ar-next {
        right: 50%;
        background: url(../img/top/icon-next.svg) 0 center no-repeat;
        background-size: 50px;
    }
    .sec02 #case-slick .ar-prev:hover {
        transform: translateX(-5px);
        -webkit-transform: translateX(-5px);
        -ms-transform: translateX(-5px);
    }
    .sec02 #case-slick .ar-next:hover {
        transform: translateX(5px);
        -webkit-transform: translateX(5px);
        -ms-transform: translateX(5px);
    }

.sec03 {
    position: relative;
    height: 440px;
}

.sec03 .cont {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.sec03 .cont h2 {
    color: #fff;
    margin-bottom: 20px;
}

.sec03 .cont h2 span {
    color: #fff;
}

.sec03 .cont .ttlTxt {
    color: #fff;
    margin-bottom: 40px;
    font-size: 16px;
}

.sec03 .cont .topBtn {
    display: flex;
    justify-content: center;
}

.sec03 .cont .topBtn a {
    border: 1px solid #fff;
    color: #fff;
}

.sec03 .cont .topBtn a:before {
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
}

.sec03 .cont .topBtn a:hover {
    background: #fff;
    color: #EC4C4C;
}

.sec03 .cont .topBtn a:hover:before {
    border-top: solid 1px #EC4C4C;
    border-right: solid 1px #EC4C4C;
}

.sec03 .innerList {
    width: 100%;
}

.sec03 #case-slick02 {
    padding: 0;
    height: 440px;
    position: relative;
    margin: 0;
}

.sec03 #case-slick02 .slick-list {
    height: 440px;
}

.sec03 #case-slick02 .slick-list li {
    height: 440px;
    position: relative;
}

.sec03 #case-slick02 .slick-list li img {
    width: 100%;
	height: 100% !important;
	object-fit: cover;
	object-position: 50% 50%;
	transform-origin: 0% 50%;
	transform: scale(1.05);
}
.sec03 #case-slick02 .slick-list .slick-animate li img {
    animation: slide 10s forwards linear;
}

@keyframes slide {
    0% {
        transform-origin: 0 50%
    }
    to {
        transform-origin: 100% 50%
    }
}

.sec03 #case-slick02 img {
    width: 100%;
}

.sec04 {
    position: relative;
    height: 440px;
}

.sec04 .cont {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.sec04 .cont h2 {
    color: #fff;
    margin-bottom: 20px;
}

.sec04 .cont h2 span {
    color: #fff;
}

.sec04 .cont .ttlTxt {
    color: #fff;
    margin-bottom: 40px;
    font-size: 16px;
}

.sec04 .cont .topBtn {
    display: flex;
    justify-content: center;
}

.sec04 .cont .topBtn a {
    border: 1px solid #fff;
    color: #fff;
}

.sec04 .cont .topBtn a:before {
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
}

.sec04 .cont .topBtn a:hover {
    background: #fff;
    color: #EC4C4C;
}

.sec04 .cont .topBtn a:hover:before {
    border-top: solid 1px #EC4C4C;
    border-right: solid 1px #EC4C4C;
}

.sec04 .innerList {
    width: 100%;
}

.sec04 #case-slick03 {
    padding: 0;
    height: 440px;
    position: relative;
    margin: 0;
}

.sec04 #case-slick03 .slick-list {
    height: 440px;
}

.sec04 #case-slick03 .slick-list li {
    height: 440px;
    position: relative;
}

.sec04 #case-slick03 .slick-list li img {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    object-position: 50% 50%;
    transform-origin: 0% 50%;
    transform: scale(1.05);
}
.sec04 #case-slick03 .slick-list .slick-animate li img {
    animation: slide 10s forwards linear;
}

.sec04 #case-slick03 img {
    width: 100%;
}

.slick-dots {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: center;
    padding: 0 0 30px;
    font-size: 0;
    line-height: 0;
}

.slick-dots li {
    display: inline-block;
    width: 12px;
    height: 12px !important;
    margin: 0 3px;
    padding: 0;
    vertical-align: middle;
}

.slick-dots li button {
	border: none;
	border-radius: 6px;
	background-color: #fff;
	width: 6px;
	height: 6px;
	margin: 3px;
	padding: 6px 0 0 0;
	overflow: hidden;
}
.slick-dots li.slick-active button {
	border: 1px solid #fff;
	border-radius: 12px;
	background-color: transparent;
	width: 12px;
	height: 12px;
	margin: 0;
	padding: 10px 0 0 0;
	overflow: hidden;
}

.sec05 .cont {
    display: flex;
    flex-flow: row-reverse;
    padding: 80px 80px 0;
}

.sec05 .cont .l {
    width: 50%;
    color: #fff;
}

.sec05 .cont .l .t {
    background: url(../img/top/CareService_bg.png) 0 center no-repeat;
    background-size: cover;
    height: 50%;
    display: flex;
    align-items: center;
}

.sec05 .cont .l .b {
    background: url(../img/top/Message_bg.png) 0 center no-repeat;
    background-size: cover;
    height: 50%;
    display: flex;
    align-items: center;
}

.sec05 .cont .l .t .inBox, .sec05 .cont .l .b .inBox {
    padding: 0 0 0 18%;
}

.sec05 .cont .l .t .inBox h2, .sec05 .cont .l .b .inBox h2 {
    font-size: 34px;
    margin-bottom: 20px;
    text-align: left;
}

.sec05 .cont .l .t .inBox h2 span, .sec05 .cont .l .b .inBox h2 span {
    color: #fff;
    display: inline-block;
    padding: 0 0 0 14px;
}

.sec05 .cont .l .t .inBox .txt, .sec05 .cont .l .b .inBox .txt {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 30px;
}

.sec05 .cont .l .t .inBox .topBtn a {
    background-color: rgba(67,55,55,0.3);
    border: 1px solid #fff;
    color: #fff;
}

.sec05 .cont .l .b .inBox .topBtn a {
    background-color: rgba(67,55,55,0.3);
    border: 1px solid #fff;
    color: #fff;
}

.sec05 .cont .l .t .inBox .topBtn a:before {
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
}

.sec05 .cont .l .b .inBox .topBtn a:before {
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
}

.sec05 .cont .l .t .inBox .topBtn a:hover {
    background: #fff;
    color: #EC4C4C;
}

.sec05 .cont .l .b .inBox .topBtn a:hover {
    background: #fff;
    color: #E23131;
}

.sec05 .cont .l .t .inBox .topBtn a:hover:before {
    border-top: solid 1px #EC4C4C;
    border-right: solid 1px #EC4C4C;
}

.sec05 .cont .l .b .inBox .topBtn a:hover:before {
    border-top: solid 1px #EC4C4C;
    border-right: solid 1px #EC4C4C;
}

.sec05 .cont .r {
    width: 50%;
    position: relative;
}

.sec05 .cont .r a img {
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
}

.sec05 .cont .r a:hover {
    opacity: 0.6;
}

.sec05 .cont .r a:hover .cursor img {
    opacity: 0.6;
}

.sec05 .cont .r a .txtTtl {
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: #ec4c4c;
    width: 100%;
    padding: 20px;
}

.sec05 .cont .r a .txtTtl p {
    position: relative;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    line-height: 100%;
    padding: 0 0 0 20px;
    margin-bottom: 0;
}

.sec05 .cont .r a .txtTtl p:before {
    content: "";
    position: absolute;
    background: #fff;
    width: 10px;
    height: 4px;
    top: 7px;
    left: 0;
}

.sec06 {
    padding: 160px 0;
}

.sec06 h2 {
    margin-bottom: 20px;
}

.sec06 .box {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.sec06 .box a {
    margin: 0 4% 4% 0;
    width: calc((100% - 4%) / 2);
    -webkit-transition: ease .3s;
    transition: ease .3s;
}

.sec06 .box a:hover {
    text-decoration: none;
}

.sec06 .box a:nth-of-type(2n) {
    margin-right: 0;
}

.sec06 .box a dl {
    display: flex;
    background: #FAF8F8;
    margin-bottom: 0;
    -webkit-transition: ease .3s;
    transition: ease .3s;
}

.sec06 .box a:hover dl {
    background: #EC4C4C;
    color: #fff;
}

.sec06 .box a:hover dl dd small {
    color: #fff;
}

.sec06 .box a dl dt {
    width: 42%;
}

.sec06 .box a dl dd {
    width: 58%;
    padding: 20px 20px;
    margin-bottom: 0;
}

.sec06 .box a dl dd ul {
    list-style: none;
    padding: 0;
    font-size: 13px;
    margin-bottom: 5px;
}

.sec06 .box a dl dd ul li {
    position: relative;
    line-height: 100%;
    margin-bottom: 5px;
    padding-left: 8px;
}

.sec06 .box a dl dd ul li:last-child {
    margin-bottom: 0;
}

.sec06 .box a dl dd ul li:before {
    content: "";
    position: absolute;
    background: #000;
    border-radius: 100%;
    width: 4px;
    height: 4px;
    top: 5px;
    left: 0;
}

.sec06 .box a:hover dl dd ul li:before {
    background: #fff;
}

.sec06 .box a dl dd small {
    color: #A3A3A3;
    font-size: 14px;
    font-weight: bold;
    line-height: 100%;
    margin-bottom: 8px;
    display: block;
    -webkit-transition: ease .3s;
    transition: ease .3s;
}

.sec06 .box a dl dd .boxTtl {
    font-size: 16px;
    font-weight: bold;
    line-height: 100%;
    margin-bottom: 14px;
}

.sec06 .box a dl dd .txt {
    font-size: 13px;
    line-height: 20px;
    margin-bottom: 0;
}

.sec06 .topBtn {
    display: flex;
    justify-content: center;
}

.sec07 .cont .box {
    display: flex;
}

.sec07 .cont .box02 {
    flex-flow: row-reverse;
}

.sec07 .cont .box .l {
    width: 50%;
}

.sec07 .cont .box .r {
    width: 50%;
    background: #FAF8F8;
    display: flex;
    align-items: center;
    padding: 0 100px;
}

.sec07 .cont .box .r .inBox h2 {
    text-align: left;
    margin-bottom: 20px;
}

.sec07 .cont .box .r .inBox .txt {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 60px;
}

.menu__item {
    color: #fff;
    cursor: pointer;
    display: block;
    margin-bottom: 1px;
}
.menu__item__link {
    color: #fff;
    display: block;
    line-height: 60px;
    padding: 0 1rem;
    position: relative;
}

.menu__item__link:before {
    content: "";
    position: absolute;
    background: #fff;
    top: 50%;
    right: 0;
    display: block;
    width: 16px;
    height: 2px;
    margin: auto;
}

.menu__item__link:hover:before {
    background: #fff;
}

.menu__item__link:after {
    content: "";
    position: absolute;
    background: #fff;
    top: 50%;
    right: 0;
    display: block;
    width: 16px;
    height: 2px;
    margin: auto;
    -webkit-transform: rotate( 90deg );
    transform: rotate( 90deg );
}

.menu__item__link:hover:after {
    background: #fff;
}

.menu__item__link.on:after {
    content: none;
}

.submenu {
    display: none;
}
.submenu__item a {
    position: relative;
    border: unset !important;
    line-height: 53px !important;
    padding-left: 20px !important;
}
.submenu__item a:before {
    content: "";
    position: absolute;
    background: #fff;
    width: 6px;
    height: 2px;
    top: 50%;
    left: 0;
}

.content{
    margin: 0 auto;
    padding: 40px;
}
.modal{
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 999;
}
.modal__bg{
    background: rgba(0,0,0,0.8);
    height: 100vh;
    position: absolute;
    width: 100%;
}
.modal__content{
    background: #fff;
    left: 50%;
    padding: 40px;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 60%;
}

.youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}



/*sp*/
/*k
@media (max-width:991px){
    #header #header--logo {
        margin-top: 10px;
        max-width: 200px;
    }

    .inner {
        padding: 0 20px !important;
    }

    .logoCont {
        top: 10px;
        right: 10px;
    }

    .sec01 .TextTyping {
        letter-spacing: 5px;
        margin-top: -30px;
    }

    .sec01 .TextTyping span {
        font-size: 28px;
    }

    .mainCont h2 {
        font-size: 28px;
        margin-bottom: 40px;
    }

    .mainCont h2 span {
        font-size: 16px;
        padding: 10px 0 0;
    }

    .sec05 .cont .l .t .inBox h2, .sec05 .cont .l .b .inBox h2 {
        font-size: 28px;
    }

    .mainCont .ttlTxt {
        font-size: 16px;
        margin-bottom: 40px;
    }

    .mvTxt p {
        max-width: 320px;
        line-height: 40px;
        letter-spacing: 10px;
        margin-left: 30px;
    }

    .mvTxt p span {
        font-size: 34px;
    }

    .mvLogo {
        bottom: 20px;
        right: 20px;
        width: 60px;
    }

    .sec01 {
        padding: 80px 0;
    }

    .sec01 .bgTxt {
        width: 1000px;
        height: 70px;
    }

    .sec01 .content {
        padding: 0 60px !important;
        display: block;
        width: 100%;
        max-width: 520px;
        margin: 0 auto;
    }
    .sec01 .content a {
        padding: 0;
        display: block;
    }
    .sec01 .content a:nth-of-type(4) {
        margin-bottom: 0;
    }

    .sec01 .pc02 .content.first {
        padding: 0 20px !important;
        width: 100%;
        max-width: 640px;
        margin: 0 auto;
    }
    .sec01 .pc02 .content a {
        width: 100%;
        margin-bottom: 40px;
    }

    .sec01 .content .ar-prev {
        background: url(../img/top/icon-prev.svg) 0 center no-repeat;
        background-size: 35px;
        left: -50px;
    }

    .sec01 .content .ar-next {
        background: url(../img/top/icon-next.svg) 0 center no-repeat;
        background-size: 35px;
        right: -50px;
    }

    .sec01 .content .ar-prev, .sec01 .content .ar-next {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        border-radius: 50px;
        width: 35px;
        height: 35px;
        font-size: 0;
        overflow: hidden;
        cursor: pointer;
        -webkit-transition: 0.3s ease;
        transition: 0.3s ease;
        margin-top: -25px;
    }

    .modal__content {
        padding: 10px;
        width: 90%;
    }

    #header #header--bg:before {
        content: none;
    }

    .sec02 {
        padding: 80px 0;
    }

    .sec02:before {
        width: 95%;
    }

    .sec02 .innerList {
        padding: 0 20px;
    }

    .sec02 .case-list .list {
        width: 100%;
    }

    .sec02 #case-slick .box {
        max-width: 280px;
        margin-right: 20px;
    }

    .sec02 #case-slick .image {
        width: 280px;
    }

    .sec02 #case-slick .sub {
        width: 280px;
    }

    .sec02 #case-slick h3 {
        width: 280px;
    }

    .sec02 #case-slick .txt{
        width: 280px;
    }

    .sec02 #case-slick .ar-prev, .sec02 #case-slick .ar-next {
        width: 40px;
        height: 40px;
        margin-top: -7rem;
    }

    .sec02 #case-slick .ar-prev {
        right: calc(50% + 4.5rem);
        background: url(../img/top/icon-prev.svg) 0 center no-repeat;
        background-size: 40px;
    }

    .sec02 #case-slick .ar-next {
        right: calc(50% + 1rem);
        background: url(../img/top/icon-next.svg) 0 center no-repeat;
        background-size: 40px;
    }

    .sec03 {
        height: 380px;
    }

    .sec03 #case-slick02 {
        height: 380px;
    }
    
    .sec03 #case-slick02 .slick-list {
        height: 380px;
    }
    
    .sec03 #case-slick02 .slick-list li {
        height: 380px;
    }

    .sec04 {
        height: 380px;
    }
    
    .sec04 #case-slick03 {
        height: 380px;
    }
    
    .sec04 #case-slick03 .slick-list {
        height: 380px;
    }
    
    .sec04 #case-slick03 .slick-list li {
        height: 380px;
    }

    .sec05 .cont {
        display: block;
        padding: 20px 20px 0;
    }

    .sec05 .cont .r {
        width: 100%;
        margin-bottom: 20px;
    }

    .sec05 .cont .r a .txtTtl {
        padding: 10px 20px;
    }

    .sec05 .cont .r a .txtTtl p {
        font-size: 16px;
    }

    .sec05 .cont .l {
        width: 100%;
    }

    .sec05 .cont .l .t {
        background: url(../img/top/CareService_bg_sp.png) 0 center no-repeat;
        background-size: cover;
    }

    .sec05 .cont .l .t .inBox, .sec05 .cont .l .b .inBox {
        padding: 40px 20px;
    }

    .sec05 .cont .l .t .inBox .txt, .sec05 .cont .l .b .inBox .txt {
        margin-bottom: 30px;
        font-size: 16px;
    }

    .sec06 {
        padding: 80px 0;
    }

    .sec06 h2 {
        margin-bottom: 20px;
    }

    .sec06 .box {
        display: block;
        margin-bottom: 40px;
    }

    .sec06 .box a {
        display: block;
        margin: 0 0 30px;
        width: 100%;
    }

    .sec06 .box a dl dt {
        padding: 20px 0 20px 20px;
    }

    .sec06 .box a dl dt img {
        width: 100%;
    }

    .sec06 .box a dl dd {
        padding: 20px;
    }

    .sec06 .box a dl dd ul {
        margin-bottom: 10px;
    }

    .sec07 .cont .box {
        display: block;
    }

    .sec07 .cont .box .l {
        width: 100%;
    }

    .sec07 .cont .box .r {
        width: 100%;
        padding: 40px 20px;
    }

    .sec07 .cont .box .r .inBox .txt {
        margin-bottom: 30px;
        font-size: 16px;
    }
}
*/

#sp-menu {
    height: 100% !important;
}

#sp-menu ul {
    padding-top: 70px;
}

.spMenuLogo {
    text-align: left;
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 11111111;
}

.spMenuLogo a {
    display: block;
    background: #fff;
    padding: 10px;
}

.spMenuLogo a img {
    width: 200px;
}

.spMenuContact a {
    display: block !important;
    position: relative;
    border: unset;
    color: #EC4C4C !important;
    background: #fff;
    font-size: 16px !important;
    font-weight: bold !important;
    line-height: 1 !important;
    text-align: center !important;
    padding: 20px 10px !important;
    border-radius: 100px;
    margin: 20px 30px !important;
}

.spMenuContact a:before {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    border: 0px;
    border-top: solid 1px #EC4C4C;
    border-right: solid 1px #EC4C4C;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 50%;
    right: 30px;
    margin-top: -4px;
}

#navigation li.spMenuContact a:hover {
    background-color: #fff;
    color: #ec4c4c !important;
}
/*
@media (max-width:1200px) {
    #header.fixed a {
        color: #fff;
    }

    #navigation li.spMenuContact a:hover {
        background-color: #fff;
        color: #ec4c4c !important;
    }

    #footer #footer--body .row {
        width: auto !important;
    }
}
*/
#footer #footer--body .row {
    width: auto !important;
}
/*k
@media (min-width: 992px) {
    #footer .row .col-lg-3 {
        max-width: 100%;
        padding: 0;
    }
}
*/
.cursor_field {
    cursor: none;
}

.cursor {
    position: fixed !important;
    width: 80px;
    height: 80px;
    margin: -20px 0 0 -20px !important;
    z-index: 2;
    pointer-events: none;
    transition: transform 0.1s !important;
    opacity: 0;
    padding: 0 !important;
}

.sec01 .content a p.cursor:before {
    content: none;
}

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


#loading {
    width: 100vw;
    height: 100vh;
    transition: all 1s;
    background-color: #ec4c4c;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 11111112;
}

.loaded {
    opacity: 0;
    visibility: hidden;
}

.loadingTxt {
    width: 100vw;
    height: 100vh;
    position: relative;
}

.loadingTxt p {
    color: #fff;
    font-size: 0;
    font-weight: bold;
    max-width: 640px;
    width: 100%;
    line-height: 90px;
    letter-spacing: 30px;
    margin-left: 150px;
    margin-bottom: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    left: 0;
}

.loadingTxt p::after {
    content: "|";
    animation: typinganime .8s ease infinite;
}

.loadingTxt p span {
    display: none;
    font-size: 54px;
}
/*k
@media (max-width:991px) {
    #loading {
        display: none;
    }
    .pc02 {
        display: block !important;
    }
    .sp02 {
        display: none !important;
    }
}
*/
#footer .sns {
    list-style: none;
    display: flex;
    align-items: center;
    padding: 0;
    margin-top: 20px;
}

#footer .sns li {
    margin-right: 14px;
}

#footer .sns li:last-child {
    margin: 0;
}

#footer .sns li a {
    display: block;
    width: 30px;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
}

#footer .sns li a:hover {
    opacity: 0.6;
}

#footer .sns li a img {
    width: 100%;
}
/*
@media (max-width:991px) {

    #footer .sns li a {
        width: 40px;
    }
}
*/
.header-top {
    padding: 10px;
}

.header-top #s_navi {
    margin: 10px 10px 0 0;
}

.header-top .spMenuLogo a {
    padding: 19px 20px 10px;
}
/*k
@media (max-width:1200px) {
    .header-top #menu.show {
        top: 20px;
        right: 30px;
    }
}

@media (max-width:575px) {
    .header-top #menu.show {
        top: 14px;
        right: 22px;
    }
}

*/


#history #index--under .content-inner-b {
    padding-bottom: 0;
}

#history #index--under .in {
    margin: 0 auto;
    padding: 0 0 45rem;
}

#history #index--under #bg-index-under {
    position: absolute;
    z-index: 1;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: url(../img/company/main_bg.jpg) !important;
    background-position: center center;
    background-size: cover;
}

#history .main-copy {
    line-height: 2.4;
    position: relative;
    z-index: 11111;
    top: 51%;
    text-align: center;
    color: white;
    max-width: 1100px;
    width: 90%;
    margin: 0 auto;
    text-align: left;
}

#history .main-copy .main {
    font-size: 36px;
    font-weight: bold;
    letter-spacing: 5px;
    line-height: 50px;
    margin-bottom: 20px;
}

#history .masthead-overlay {
    background: #6F7070;
    opacity: 0.4;
}

#history .main-copy .sub {
    font-size: 16px;
    /*
    line-height: 30px;
*/
    }

#history #index--under .index--under--wrapper {
    position: relative;
    z-index: 2;
    max-width: 100%;
    margin: 0 auto 0 0;
    padding: 105px 65px 5px;
    background-color: #fff;
}

#history #index--under .index--under--title {
    font-size: 1.8rem;
    line-height: 150%;
    position: relative;
    top: 15px;
    margin-bottom: 20px;
}

#history #index--under .index--under--title span {
    font-size: 60%;
    position: relative;
    left: 15px;
    color: #ec4c4c;
}
/*k

@media (max-width: 991px) {
    #history .main-copy {
        line-height: 2.4;
        position: relative;
        z-index: 11111;
        top: 32%;
        color: white;
    }

    #history #index--under .in {
        max-width: 100%;
    }

    #history #index--under #bg-index-under {
        position: relative;
        width: 100%;
        height: 400px;
    }

    #history #index--under .index--under--wrapper {
        top: 0;
        width: 100%;
        margin-bottom: 0;
        padding: 40px;
    }
}

@media (max-width: 767px) {
    #history #index--under #bg-index-under {
        height: 350px;
    }
}

@media (max-width: 575px) {
    #history #index--under #bg-index-under {
        height: 300px;
    }

    #history .main-copy .sub {
        width: 100%;
    }
}
*/

#history .index {
    padding: 80px 0;
}

#history .index .block:nth-of-type(2n) {
    background: #FAF8F8;
}

#history .index .block {
    padding: 40px 0;
}

#history .index .block .inner {
    max-width: 750px;
    width: 90%;
    margin: 0 auto;
}

#history .index .block .inner .history__txt {
    display: flex;
}

#history .index .block .inner .history__txt p {
    margin-bottom: 0;
}

#history .index .block .inner .history__txt p.head {
    width: 25%;
    font-size: 24px;
    font-weight: bold;
    color: #EC4C4C;
}

#history .index .block .inner .history__txt p.cont {
    width: 75%;
    font-size: 14px;
    line-height: 24px;
}

#history .index .block .inner .history__img {
    display: flex;
    margin-top: 3rem;
}

#history .index .block .inner .history__img figure {
    margin-bottom: 0;
    width: 33%;
    margin-right: 10px;
}

#history .index .block .inner .history__img figure:last-of-type {
    margin: 0;
}
/*k
@media (max-width: 991px) {
    #history .index {
        padding: 0;
    }

    #history .main-copy .main {
        font-size: 28px;
        line-height: 30px;
        margin-bottom: 10px;
    }

    #history .main-copy .sub {
        font-size: 14px;
        line-height: 20px;
    }

    #history .index .block .inner {
        padding: 0 !important;
    }
}

@media (max-width: 768px) {
    #history .index .block .inner .history__txt {
        display: block;
    }

    #history .index .block .inner .history__txt p.head {
        width: 100%;
        margin-bottom: 20px;
    }

    #history .index .block .inner .history__txt p.cont {
        width: 100%;
    }

    #history .index .block .inner .history__img {
        display: block;
    }

    #history .index .block .inner .history__img figure {
        width: 80%;
        margin: 0 auto 20px;
    }

    #history .index .block .inner .history__img figure:last-of-type {
        margin: 0 auto;
    }

    .sec05 .cont .l .b {
        background-image: url(../img/top/Message_bg.png);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: right center;
    }
}
*/
#sp-menu .submenu {
    padding-top: 20px;
}

.noneLink {
    pointer-events: none;
}

.videoBlock {
    max-width: 1030px;
    width: 100%;
    margin: 150px auto 60px;
    padding: 0 30px;
}

#footer .logo {
    width: 50%;
}

#footer .pc {
    width: 50%;
}

#footer .d-lg-block {
    padding: 0;
}
/*k
@media (max-width: 768px) {
    #footer .sns {
        justify-content: center;
    }

    #footer .logo {
        width: 100%;
    }

    .content {
        padding: 0;
    }
}
*/
span.anchor {
    display: block;
    padding-top: 100px;
    margin-top:-100px;
}

#service .content {
    padding: 0;
}

/*IE*/

@media all and (-ms-high-contrast: none) {
    .sec01 .TextTyping {
        font-size: 0;
        font-weight: bold;
        line-height: 0;
        letter-spacing: 10px;
        margin-bottom: 0;
        margin-top: -80px;
        text-align: center;
    }
    
    .sec01 .TextTyping::after {
        content: "|";
        animation: typinganime .8s ease infinite;
    }
    
    .sec01 .TextTyping span {
        display: none;
        font-size: 40px;
    }
}
.videoBlock {
    clear: both;
}