@charset "UTF-8";
/**====================================
 * CSS information
 * file name	: sp.css
 * author		: libretto works
====================================**/
@media screen and (max-width: 767px) {
    /* body
	-------------------------------------------------- */
    html {
        font-size: 62.5%;
    }
    body {
        font-size: 1.5rem;
        line-height: 1.8;
        min-width: inherit;
        letter-spacing: 0.06em;
    }
    /* Responsive
	-------------------------------------------------- */
    .pc {
        display: none;
    }
    .sp {
        display: inline;
    }
	
	/* cursor
	-------------------------------------------------- */
	.cursor,
	.follower {
		display: none;
	}
	
    /*/////////////////////////////////////////////////////////////////////////////


              // loading //
	  

    /////////////////////////////////////////////////////////////////////////////*/
	.loader-logo {
		width: 40%;
	}
	
    /*/////////////////////////////////////////////////////////////////////////////


              // layout //
	  

    /////////////////////////////////////////////////////////////////////////////*/
    /* section
	-------------------------------------------------- */
    .section-wrap {
        padding-bottom: 80px;
    }
	.section-inner {
	    padding-right: 5.3333%;
	    padding-left: 5.3333%;
	}
    .section-low-wrap {
        width: 100%;
        padding-right: 5.3333%;
	    padding-left: 5.3333%;
        box-sizing: border-box;
    }
    .section-low-inner {
        margin-top: 30px;
    }
    .flex-col2 {
        display: block;
    }
    
    /*/////////////////////////////////////////////////////////////////////////////


              // header //
	  

	/////////////////////////////////////////////////////////////////////////////*/
	
    /* header
	-------------------------------------------------- */
	.header-logo {
	    width: 120px;
        left: 4%;
        top: 20px;
	}
	
    /* nav
	-------------------------------------------------- */
	.header-inner {
		display: none;
	}
	
    /* menu-trigger
    -------------------------------------------------- */
    .menu-trigger {
        width: 50px;
        height: 46px;
        right: 4%;
        top: 14px;
        padding: 0 2px;
    }
    .menu-trigger span:nth-of-type(1) {
        top: 16px;
    }
    .menu-trigger span:nth-of-type(2) {
        bottom: 16px;
    }
    .open .menu-trigger span:nth-of-type(1) {
        top: 23px;
    }
    .open .menu-trigger span:nth-of-type(2) {
        bottom: 22px;
    }
    
	
    /* fixed nav
	-------------------------------------------------- */
	.fixed-nav .header-logo {
		display: none;
	}
	.fixed-nav__img {
		display: none;
	}
	.fixed-inner {
	    width: 100%;
	    height: 100vh;
	    left: 0;
	    margin-left: 0;
		padding: 0 6.6666%;
	}
	.fixed-nav .m-nav {
	    font-size: 1.2rem;
	    position: static;
	    transform: none;
		padding: 60px 0 180px;
	}
	.fixed-nav .m-nav li.m-nav__item {
	    width: 100%;
	    overflow: hidden;
	    margin: 0 0 13px;
	}
	.fixed-nav .m-nav li.m-nav-col1 {
	    width: 100%;
	}
	.fixed-nav .m-nav li.m-nav__item > a {
	    display: block;
	}
	.fixed-nav .m-nav li.m-nav__item > a ._en {
	    font-size: 2.6rem;
	}
	.fixed-nav .m-nav-inr {
	    display: block;
	    padding-top: 13px;
	}
	.fixed-nav .m-nav-inr li {
	    margin: 0 0 12px 0;
	    padding: 0 0 0 20px;
	    font-size: 1.4rem;
	}
	.fixed-nav .m-nav-inr li::after {
	    content: "";
	    width: 10px;
		height: 1px;
		left: 0;
	    top: 50%;
		background: #cccccc;
	}
    .fixed-nav .m-nav-inr li:last-child::after {
        display: block;
    }
    
    /*/////////////////////////////////////////////////////////////////////////////


              // footer //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    .footer {
        padding: 40px 5.3333% 40px;
        position: relative;
    }
    .footer-inner {
        display: block;
        margin-bottom: 0;
        border-bottom: none;
        padding-bottom: 30px;
    }
	
	/* ft-info
    -------------------------------------------------- */
    .ft-info {
        width: 100%;
        margin-bottom: 30px;
    }
    .ft-logo {
        width: 140px;
        margin-bottom: 10px;
    }
    .ft-info dt {
        font-size: 1.5rem;
        margin-bottom: 4px;
    }
    .ft-info dd {
        font-size: 1.4rem;
        line-height: 1.6;
    }
    
    /* ft-nav
    -------------------------------------------------- */
    .ft-nav {
        width: 100%;
        display: block;
        border-top: 1px solid #d9d9d9;
    }
    .ft-nav ul.ft-nav-wrap {
        margin-left: 0;
    }
    .ft-nav ul.ft-nav-wrap > li {
        font-size: 1.5rem;
        margin-bottom: 0;
        padding: 10px 0;
        border-bottom: 1px solid #d9d9d9;
    }
    .ft-nav .ft-nav-inner {
        margin-top: 5px;
    }
    .ft-nav .ft-nav-inner li > a {
        font-size: 1.3rem;
    }
    
    /* footer-btm
    -------------------------------------------------- */
    .footer-btm {
        display: block;
    }
    .ft-iso .mark {
        width: 90px;
        margin-right: 22px;
    }
    .ft-iso .txt {
        width: calc(100% - 112px);
        font-size: 1.1rem;
        line-height: 1.4;
    }
    .ft-btm {
        text-align: left;
        font-size: 1.3rem;
        padding-top: 30px;
    }
    .ft-btm p {
        margin-top: 10px;
    }
    .copyright {
        font-size: 1.0rem;
        letter-spacing: 0.04em;
    }
    
	/*/////////////////////////////////////////////////////////////////////////////


              // ctaArea //
	  

	/////////////////////////////////////////////////////////////////////////////*/
	.ctaArea {
	    display: block;
	    padding: 60px 5.3333% 60px;
	}
	.ctaArea::before {
	    background: rgba(42, 44, 46, 0.85);
	}
	.ctaArea-ttl {
	    width: 100%;
	    position: relative;
        margin-bottom: 20px;
	}
	.ctaArea-ttl .txt {
	    margin-top: 8px;
	}
	.ctaArea-list {
	    width: 100%;
	    display: block;
	    border-top: 1px solid rgba(255, 255, 255, 0.40);
	}
	.ctaArea-list li {
	    width: 100%;
	    text-align: center;
	    padding: 30px 0 40px;
	    border-top: none;
	    border-bottom: 1px solid rgba(255, 255, 255, 0.40);
	}
	.ctaArea-list li .ttl {
	    font-size: 1.8rem;
	    margin-bottom: 20px;
	}
	.ctaArea-list a.tel ._en {
	    font-size: 3.4rem;
	    margin-bottom: 5px;
	}
	.ctaArea-list a.tel ._en span {
	    font-size: 1.8rem;
	}
	.ctaArea-list a.tel .txt {
	    font-size: 1.3rem;
	}
	.ctaArea-list a.mail {
        width: 90%;
	    line-height: 58px;
	    margin: 5px auto 0;
	}
	.ctaArea-list a.mail p {
	    padding-left: 45px;
	}
	
    /*/////////////////////////////////////////////////////////////////////////////


              // common parts //
	  

	/////////////////////////////////////////////////////////////////////////////*/
	
	/* ===============================================
        title
	=============================================== */
	
	/* page-ttl
	-------------------------------------------------- */
	.page-ttl {
	    padding: 140px 0 50px;
	}
	.page-ttl-inner {
	    padding: 0 5.3333%;
	    align-items: flex-end;
	    position: relative;
	}
	.page-ttl-cont .ttl {
	    font-size: 1.6rem;
	    padding: 0 0 0 18px;
	}
	.page-ttl-cont .enttl {
	    font-size: 5.2rem;
	    line-height: 1.05;
        word-break: break-all;
        padding: 14px 0 0;
	}
	.page-ttl-cont .jattl {
	    font-size: 4.0rem;
	    line-height: 1.5;
	    padding: 12px 0 5px;
	}
	.page-ttl-cont._news .jattl {
	    font-size: 3.2rem;
        padding-bottom: 20px;
	}
	.page-ttl .page-lead {
	    width: 100%;
	    font-size: 1.5rem;
        margin-top: 25px;
	}
	.page-ttl-cont._news .news-info {
	    margin-bottom: 30px;
	}
	.page-ttl-cont._news {
	    border-bottom: 1px solid #999999;
	    padding-bottom: 25px;
	}
    
	/* page-ttl-col2
	-------------------------------------------------- */
	.page-ttl-col2 {
	    display: block;
	    margin-top: 40px;
	}
	.page-ttl-col2-fig {
	    width: 94.6667%;
	    min-height: inherit;
	}
    .page-ttl-col2-fig.thumb::after {
        padding-top: 75%;
    }
	.page-ttl-col2-cont {
	    width: 100%;
	    padding: 30px 5.3333% 0;
	    box-sizing: border-box;
	}
	.page-ttl-col2-cont-txt {
	    font-size: 3.0rem;
	    line-height: 1.75;
	    margin-bottom: 15px;
	}
    
	/* contents-link
	-------------------------------------------------- */
	.contents-link {
	    margin-top: 40px;
	}
	.service-lead .contents-link {
	    margin-top: 0;
	}
	.page-ttl-col2-cont .contents-link {
	    margin-top: 40px;
	}
	.contents-link-ttl {
	    font-size: 1.2rem;
	    padding: 12px 0 0;
	    margin-bottom: 15px;
	}
	.contents-link ul {
	    display: flex;
	    justify-content: space-between;
	    flex-wrap: wrap;
	}
	.contents-link ul li {
        width: 47%;
	    margin: 0;
        border-bottom: 1px solid #cccccc;
	}
	.contents-link ul li:last-child {
	    margin-right: 0;
	}
	.contents-link ul li a {
	    font-size: 1.4rem;
        padding-top: 15px;
        padding-bottom: 15px;
        background-size: 12px auto;
        text-decoration: none;
	}
    
	/* page-fig
	-------------------------------------------------- */
	.page-ttl._fig {
	    position: relative;
	    box-sizing: border-box;
	    color: #ffffff;
	    padding-bottom: 55px;
	    margin-bottom: 60px;
	}
	.page-ttl._fig a {
	    color: #ffffff;
	}
	.page-fig {
	    width: 100%;
	    height: 100%;
	    position: absolute;
	    left: 0;
	    top: 0;
	}
	.page-fig::after {
	    content: "";
	    width: 100%;
	    height: 100%;
	    background: rgba(42, 44, 46, 0.50);
	    position: absolute;
	    left: 0;
	    top: 0;
	}
	.page-fig .thumb {
	    height: 100%;
	}
	.page-fig .thumb img {
	    margin-top: -50px;
	}
	._fig .page-ttl-cont .jattl {
	    padding: 60px 0 10px;
	}
	._detail .page-ttl-cont .jattl {
	    padding: 20px 0 10px;
	}
	._fig .page-ttl-cont .ensubttl {
	    font-size: 1.2rem;
	    padding-bottom: 20px;
	}
	._detail .page-ttl-cont .ensubttl {
	    padding-bottom: 10px;
	}
    
	/* page-ttl-btm-fig
	-------------------------------------------------- */
	.page-ttl-btm-fig {
	    margin: 40px 0 0;
	}
	.page-ttl-btm-fig::after {
	    padding-top: 75%;
	}

    /* page-ttl-nav
	-------------------------------------------------- */
    .page-ttl-nav-sp {
        display: block;
    }
    .page-ttl-nav {
        width: 100%;
        padding: 45px 10px 0 0;
        border-left: none;
    }
    .page-ttl-nav-sp .page-ttl-nav {
        padding-top: 35px;
    }
    .page-ttl-nav .page-subnav {
        column-gap: 5px;
        padding-bottom: 10px;
    }
    .page-ttl-nav .page-subnav li a {
        padding-left: 46px;
    }
    
	/* page-subnav
	-------------------------------------------------- */
	.page-subnav {
	    box-sizing: border-box;
	}
	._fig .page-subnav {
	    width: 100%;
	    padding: 0 0 0 30px;
        margin-top: 40px;
	}
	._fig .page-subnav li {
	    padding: 11px 0;
	}
	
	/* breadcrumb
	-------------------------------------------------- */
	.breadcrumb {
	    margin-top: 20px;
	}
	.breadcrumb li {
	    position: relative;
	    padding-right: 25px;
	    margin-right: 10px;
	    font-size: 1.2rem;
	}
	.breadcrumb li::after {
	    width: 15px;
	}
	._fig .breadcrumb li::after {
	    background: #ffffff;
	}
	.breadcrumb li:last-child::after {
	    display: none;
	}
    
	/* page-lead
	-------------------------------------------------- */
	.page-lead {
        padding-left: 0;
    }
    
	/* sec-ttl
	-------------------------------------------------- */
	.sec-ttl .ttl {
	    font-size: 1.6rem;
	    padding: 0 0 0 16px;
	}
    .pagelink .sec-ttl .ttl {
	    font-size: 1.4rem;
	}
	.sec-ttl .enttl {
	    font-size: 4.4rem;
	    line-height: 1.05;
        word-break: break-all;
        padding: 8px 0;
	}
	.ctaArea .sec-ttl .enttl {
	    font-size: 4.2rem;
	}
    .pagelink .sec-ttl .enttl {
        font-size: 3.2rem;
    }
	.sec-ttl .lead {
	    font-size: 1.7rem;
	    margin-top: 8px;
	}
	.sec-ttl-wrap {
	    display: block;
	    padding-bottom: 40px;
	}
	.sec-ttl-wrap .sec-ttl {
	    padding-right: 0;
	}
	.sec-ttl-wrap .lead {
	    padding: 8px 0 0;
	}

	/* cont-ttl
	-------------------------------------------------- */
	.cont-ttl {
	    padding: 12px 0 0;
        overflow:  hidden;
	}
	.cont-ttl .enttl {
	    font-size: 1.2rem;
	    margin-bottom: 15px;
	}
	.cont-ttl .ttl {
	    font-size: 2.8rem;
        margin: 0 -0.70em 0 -0.65em;
	}
    .cont-ttl .ttl span {
        display: block;
        margin: 0 0.70em 0 0.65em;
    }
	.cont-ttl .lead {
	    font-size: 2.0rem;
	    margin: 25px 0;
        text-align: left;
	}
	.cont-ttl .txt {
	    margin: 15px 0 0;
	}
	.cont-ttl-col2 {
	    display: block;
	}
	.cont-ttl-col2 .ttl {
	    white-space: normal;
	}
	.cont-ttl-col2 .txt {
	    width: 100%;
	    margin: 15px 0 0;
	}
    
    /* article-ttl
    -------------------------------------------------- */
    .article-ttl {
        font-size: 2.2rem;
        margin-bottom: 0.25em;
    }
    
	/* txt-slider 
    -------------------------------------------------- */
    .txt-slider li {
        font-size: 7.7rem;
        line-height: 1.15;
        letter-spacing: -0.03em;
        color: #f1f2ed;
    }
    ._bg .txt-slider li {
        color: #ffffff;
    }
    
    /* ===============================================
	    btn
	=============================================== */
    /* btn
	-------------------------------------------------- */
    
	/* btn-txt
	-------------------------------------------------- */
	
    /* ===============================================
        content-col2
	=============================================== */
    .content-col2 {
        margin-top: 30px;
    }
    .content-col2-inner {
        padding-right: 0;
    }
    
    /* ===============================================
        anchor-link
	=============================================== */
    .anchor-link {
        display: none;
    }
    
    /* ===============================================
        parallax
	=============================================== */
	
	/* ===============================================
        pagelink
	=============================================== */
    .pagelink {
        margin: 60px 0 55px;
    }
    .pagelink-block a {
        display: block;
        width: 85%;
        padding: 10px 0 30px;
    }
    .pagelink-block .entxt {
        font-size: 1.2rem;
        padding-bottom: 30px;
    }
    
    /* ===============================================
        table
	=============================================== */
    dl.table dt {
        width: 27%;
        font-size: 1.4rem;
        color: #666666;
        padding-right: 10px;
    }
    dl.table dd {
        width: 73%;
        font-size: 1.4rem;
    }
    
	/* ===============================================
        list-disc 
	=============================================== */
    
	
    /*/////////////////////////////////////////////////////////////////////////////


              // Slider //
	  

	/////////////////////////////////////////////////////////////////////////////*/
	/* Arrows */
    .slick-prev,
    .slick-next {
        width: 45px;
        height: 45px;
        bottom: inherit;
        top: 50%;
        transform: translateY(-50%);
    }
    .slick-prev {
        left: -10px;
    }
    .slick-next {
        left: inherit;
        right: 15px;
    }
    .group-slider .slick-prev,
    .group-slider .slick-next {
        transform: none;
        top: inherit;
        left: inherit;
        bottom: -15px;
    }
    .group-slider .slick-prev {
        right: 68px;
    }
    .group-slider .slick-next {
        right: 15px;
    }
}