@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.4rem;
        min-width: inherit;
    }
    /* Responsive
	-------------------------------------------------- */
    .pc {
        display: none;
    }
    .sp {
        display: inline;
    }
    /* cursor
	-------------------------------------------------- */
    .cursor, .follower {
        display: none;
    }
    /*/////////////////////////////////////////////////////////////////////////////


              // loading //
	  

    /////////////////////////////////////////////////////////////////////////////*/
    .loader__logo {
        width: 60%;
    }
    /*/////////////////////////////////////////////////////////////////////////////


              // layout //
	  

    /////////////////////////////////////////////////////////////////////////////*/
    /* container
	-------------------------------------------------- */
    /* section
	-------------------------------------------------- */
    .section-wrap {
        box-sizing: border-box;
    }
    .section-wrap._50 {
        padding-right: 0%;
        padding-left: 0%;
    }
    .section-wrap._60 {
        padding-right: 6.6666%;
        padding-left: 6.6666%;
    }
    .section-wrap._90 {
        padding-right: 6.6666%;
        padding-left: 6.6666%;
    }
    .section-wrap._120 {
        padding-right: 6.6666%;
        padding-left: 6.6666%;
    }
    .section-wrap._165 {
        padding-right: 6.6666%;
        padding-left: 6.6666%;
    }
    .section-wrap._0-120 {
        padding-left: 6.6666%;
    }
    .section-wrap._120-0 {
        padding-right: 6.6666%;
    }
    .section-wrap._90-120 {
        padding-right: 6.6666%;
        padding-left: 6.6666%;
    }
    .section-wrap._980 {
        max-width: 980px;
        margin: 0 auto;
        padding-right: 6.6666%;
        padding-left: 6.6666%;
        box-sizing: inherit;
    }
    .section-low-wrap {
        width: 100%;
        margin: 0 auto;
    }
    .section-low-inner {
        margin-top: 30px;
    }
    
    /*/////////////////////////////////////////////////////////////////////////////


              // header //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    /* header
	-------------------------------------------------- */
    .header {
        height: 68px;
        padding: 0;
    }
    .header-logo {
        width: 120px;
        left: 4%;
        top: 20px;
    }
    /* nav
	-------------------------------------------------- */
    .header-inner {
        display: none;
    }
    /* menu-trigger
	-------------------------------------------------- */
    .menu-trigger {
        width: 60px;
        height: 54px;
        right: 0;
        top: 5px;
    }
    .menu-trigger span:nth-of-type(1) {
        width: 30px;
        top: 23px;
        right: 15px;
    }
    .menu-trigger span:nth-of-type(2) {
        width: 24px;
        bottom: 23px;
        right: 15px;
    }
    .open .menu-trigger span:nth-of-type(1) {
        top: 27px;
    }
    .open .menu-trigger span:nth-of-type(2) {
        width: 30px;
        bottom: 26px;
    }
    /* fixed nav
	-------------------------------------------------- */
    .fixed-nav__img {
        width: 27%;
    }
    .fixed-inner {
        width: 73%;
        height: 100vh;
        padding: 0;
        margin-left: 27%;
    }
    .fixed-nav nav {
        font-family: 'Cormorant Garamond', serif;
        line-height: 1.2;
        width: 100%;
        box-sizing: border-box;
        position: relative;
        left: 0;
        top: 0;
        transform: none;
        padding: 90px 13% 120px;
    }
    .fixed-nav .m-nav {
        display: block;
        padding-bottom: 15px;
    }
    .fixed-nav .m-nav li {
        width: 100%;
        font-size: 2.4rem;
        margin: 0 0 15px;
    }
    .fixed-nav .m-nav-box {
        display: block;
    }
    .fixed-nav .m-nav-box li._reserve {
        width: 100%;
        margin-bottom: 10px;
    }
    .fixed-nav .m-nav-box li._line {
        width: 100%;
    }
    .fixed-nav .m-nav-box li a {
        font-size: 1.6rem;
        text-align: left;
        padding: 0 20px;
    }
    .fixed-nav .m-nav-box li span {
        line-height: 48px;
        padding-left: 30px;
    }
    .fixed-nav .m-nav-box li._reserve span {
        background-size: 16px auto;
    }
    .fixed-nav .m-nav-box li._line span {
        background-size: 18px auto;
        padding-right: 0;
    }
    .m-nav-btm {
        padding-top: 20px;
        margin-top: 25px;
    }
    /*/////////////////////////////////////////////////////////////////////////////


              // footer //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    .footer {
        padding: 30px 6.6666% 50px;
    }
    
    /* footer-inner
    -------------------------------------------------- */
    .footer-inner {
        display: block;
        margin-bottom: 40px;
    }
    
    /* ft-nav
    -------------------------------------------------- */
    .ft-nav {
        width: 100%;
        letter-spacing: 0.04;
        margin-bottom:  45px;
    }
    .ft-nav-list {
        padding: 10px 0 25px;
    }
    .ft-nav-list li {
        font-size: 2.0rem;
        margin-right: 25px;
    }
    .ft-nav-box li {
        float: none;
        margin-right: 15px;
    }
    .ft-nav-box li._reserve {
        width: 80%;
        margin-bottom: 10px;
    }
    .ft-nav-box li._line {
        width: 80%;
    }
    .ft-nav-box li a {
        text-align: left;
        padding: 0 25px;
    }
    .ft-nav-box li span {
        font-size: 1.6rem;
        line-height: 52px;
    }
    .ft-nav-box li._line span {
        background-size: 22px auto;
        padding-right: 0;
    }
    
    /* ft-info
    -------------------------------------------------- */
    .ft-info {
        width: 100%;
        font-size: 1.4rem;
        text-align: left;
    }
    .ft-info .ft-logo {
        width: 170px;
        margin-bottom: 10px;
    }
    .ft-info .ft-logo + p {
        font-size: 1.2rem;
    }
    .ft-sns {
        justify-content: flex-start;
        margin-top: 20px;
    }
    .ft-sns li {
        margin: 0 14px 0 0;
    }
    
    /* footer-btm
    -------------------------------------------------- */
    .footer-btm {
        letter-spacing: 0.04;
        font-size: 1.3rem;
    }
    
    /*/////////////////////////////////////////////////////////////////////////////


              // cvArea //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    .cvArea {
    }
    .cvArea._bd {
        padding-top: 70px;
    }
    .cvArea._bd .ttl-bd {
        font-size: 1.8rem;
    }
    .cvArea._bd .ttl-bd::after {
        height: 100px;
        top: 45px;
    }
    .cvArea a {
        height: 300px;
    }
    .cv-ttl {
        line-height: 1.5;
        font-size: 1.6rem;
        padding-top: 10px;
    }
    .cv-ttl .en {
        font-size: 5.2rem;
    }
    
    
    /*/////////////////////////////////////////////////////////////////////////////


              // common parts //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    
    /* scroll
    -------------------------------------------------- */
    .scroll {
        width: 20px;
        height: calc(100% - 20px);
        left: 2.6%;
    }
    .visual .scroll {
        height: 60vh;
        top: -54%;
    }
    .page-ttl._img .scroll {
        height: 460px;
    }
    .scroll-btm {
        height: 100px;
        top: -45px;
    }
    .scroll p {
        left: 10px;
        font-size: 1.0rem;
        transform: rotate(90deg) scale(0.9);
    }
    
    /* pagelink
    -------------------------------------------------- */
    .pagelink {
        padding: 85px 5.3333% 80px;
    }
    .pagelink a {
        line-height: 1.4;
        padding-bottom: 35px;
    }
    .arrow {
        width: 80px;
    }
    .pagelink .txt {
        font-size: 1.4rem;
    }
    .pagelink .en-ttl {
        font-size: 4.5rem;
    }
    .pagelink .ttl {
        font-size: 1.4rem;
    }
    
    /* lead-cont
    -------------------------------------------------- */
    .lead-cont {
        padding-bottom: 70px;
    }
    .lead-cont-txt {
        margin-bottom: 30px;
    }
    .lead-cont-txt .note-txt {
        font-size: 1.2rem;
        margin-top: 10px;
    }
    
    
    /* ===============================================
        title
	=============================================== */
    
    /* page-ttl
	-------------------------------------------------- */
    .page-ttl {
        padding: 90px 0 0;
    }
    .page-ttl-wrap {
        padding: 0 6.6666% 0 15%;
    }
    .page-ttl-cont {
        padding-bottom: 80px;
    }
    .page-ttl .ttl {
        font-size: 1.4rem;
        margin-bottom: 25px;
    }
    .page-ttl .en-ttl {
        font-size: 5.8rem;
        margin: 0 0 30px -5px;
    }
    .page-ttl .en-ttl .txtef-wrap,
    .page-ttl .en-ttl .txtef {
        display: block;
    }
    .motion .page-ttl .en-ttl .archive-ttl {
        display: block;
        font-size: 1.4rem;
        padding: 13px 0 0 5px;
        vertical-align: baseline;
    }
    .motion .page-ttl .en-ttl .archive-ttl::before {
        display: none;
    }
    .page-ttl .thumb::after {
        padding-top: 100%;
    }
    .page-ttl .en-subttl {
        font-size: 2.8rem;
        margin: 0 0 35px -2px;
    }
    .page-ttl .cate-wrap {
        margin-bottom: 20px;
        font-size: 1.2rem;
    }
    .page-ttl .cate-wrap .date {
        padding-right: 10px;
        margin-right: 10px;
    }
    .page-ttl .cate-wrap .cate {
        font-size: 1.1rem;
    }
    .page-ttl .detail-ttl {
        font-size: 2.8rem;
        padding-bottom: 35px;
        margin-bottom: 25px;
    }
    
    /* breadcrumb
    -------------------------------------------------- */
    .breadcrumb li {
        font-size: 1.2rem;
        padding-right: 42px;
        margin-right: 13px;
    }
    .breadcrumb li::after {
        width: 30px;
    }
    
    /* sec-ttl
	-------------------------------------------------- */
    .sec-ttl {
        position: relative;
        text-align: center;
    }
    .sec-ttl .en {
        font-size: 4.6rem;
        white-space: normal;
    }
    .sec-ttl .ttl {
        font-size: 1.5rem;
    }
    .sec-subttl {
        position: relative;
    }
    .sec-subttl .en {
        font-size: 2.8rem;
        font-weight: 500;
        letter-spacing: 0;
        line-height: 1.15;
        display: inline-block;
        margin-right: 10px;
    }
    .sec-subttl .ttl {
        font-size: 1.4rem;
    }
    
    /* cont-ttl
    -------------------------------------------------- */
    .cont-ttl {
        text-align: center;
        position: relative;
    }
    .cont-ttl._alignL {
        text-align: left;
    }
    .cont-ttl .en-ttl {
        font-size: 8.0rem;
        opacity: 0.04;
        top: 0px;
    }
    .cont-ttl .numb {
        font-size: 1.6rem;
    }
    .cont-ttl .ttl {
        font-size: 2.5rem;
        margin-bottom: 15px;
    }
    .cont-ttl .lead {
        font-size: 2.0rem;
        line-height: 2;
        margin: 0 0 10px;
    }
    .cont-ttl .txt {
        font-size: 1.6rem;
        padding: 0 15px;
    }
    .sec-facility .cont-ttl .en-ttl {
        left: -15px;
        top: -80px;
    }
    .sec-flow .cont-ttl .en-ttl {
        left: -15px;
        top: -30px;
    }
    .sec-after .cont-ttl .en-ttl {
        left: -15px;
        top: -60px;
    }
    
    /* sub-ttl
    -------------------------------------------------- */
    .sub-ttl {
        font-size: 2.0rem;
        margin-bottom: 1.0rem;
    }
    
    /* ===============================================
	    btn
	=============================================== */
    /* btn
	-------------------------------------------------- */
    .btn a,
    .btn span {
        width: 200px;
        padding: 15px 0 10px;
    }
    .btn.en {
        font-size: 1.6rem;
    }
    .btn a::after, .btn span::after {
        border-top: 4px solid transparent;
        border-right: 5px solid transparent;
        border-bottom: 4px solid #1a1a1a;
        border-left: 5px solid #1a1a1a;
    }
    .btn._wht a::after,
    .btn._wht span::after {
        border-bottom: 4px solid #ffffff;
        border-left: 5px solid #ffffff;
    }
    .btn._lg a {
        width: 200px;
    }

    /* btn-txt
	-------------------------------------------------- */
    /* btn-box
	-------------------------------------------------- */
    /* ===============================================
        parallax
	=============================================== */
    .parallax {}
    
    /* ===============================================
        anchor-link
	=============================================== */
    .anchor-link-wrap {
        padding-bottom: 60px;
    }
    .anchor-link {
        padding-top: 50px;
    }
    .anchor-link ul {
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .anchor-link ul li {
        margin: 10px 0 0;
        width: 45.5%;
    }
    .anchor-link ul a {
        padding: 5px 0;
    }
    .anchor-link ul span {
        padding-right: 13px;
        margin-right: 6px;
        font-size: 1.0rem;
    }
    .anchor-link ul span::after {
        width: 8px;
        top: 58%;
    }
    .anchor-link ul a p {
        padding-top: 1px;
    }
    
    /* ===============================================
        table
	=============================================== */
    dl.table dt {
        width: 30%;
        padding: 20px 10px 20px 0;
    }
    dl.table dd {
        width: 70%;
        padding: 20px 0 5px;
    }
    dl.table dd p {
        padding-bottom: 15px;
    }
    dl.table dd ul {
        padding-bottom: 10px;
    }
    dl.table._nonBd {
        border-bottom: none;
    }
    dl.table._nonBd dt {
        width: 30%;
        padding: 10px 0;
        color: #666666;
    }
    dl.table._nonBd dd {
        width: 70%;
        padding: 10px 0 5px;
    }
    dl.table._nonBd dd p {
        padding-bottom: 5px;
    }
    
    
    /* ===============================================
        list-disc 
	=============================================== */
    .list-disc > li {
        font-size: 1.3rem;
    }
    .list-disc._txt > li {
        font-size: 1.4rem;
        margin: 5px 0;
    }
    
    
    /*/////////////////////////////////////////////////////////////////////////////


              // Slider //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    /* Arrows */
    .slick-prev, .slick-next {
        top: 110px;
        width: 40px;
        height: 40px;
    }
    .slick-prev {
        left: -15px;
    }
    .slick-next {
        right: 10px;
    }
    .technology-img-slider .slick-prev, .technology-img-slider .slick-next {
        top: inherit;
        bottom: -75px;
    }
    .technology-img-slider .slick-prev {
        left: 0;
    }
    .technology-img-slider .slick-next {
        right: inherit;
        left: 50px;
    }
    .tec-process .slick-prev, .tec-process .slick-next {
        top: 85px;
    }
    .tec-process._motor .slick-prev, .tec-process._motor .slick-next {
        bottom: -20px;
    }
    .tec-process._motor .slick-next {
        left: 55px;
    }
    
    
    /*/////////////////////////////////////////////////////////////////////////////


              // colorbox //
	  

	/////////////////////////////////////////////////////////////////////////////*/
	#cboxTitle {
		padding-top: 7px;
		font-size: 1.2rem;
	}
	#cboxPrevious,
	#cboxNext {
	    margin-top: -15px;
	    width: 30px;
	    height: 30px;
	}
	#cboxPrevious {
	    left: -20px;
	}
	#cboxNext {
	    right: -20px;
	}
	#cboxPrevious::after, #cboxNext::after {
	    width: 8px;
	    height: 8px;
	}
}