@charset "UTF-8";
/**====================================
 * CSS information
 * file name	: sp.css
====================================**/
@media screen and (max-width: 767px) {
	
    /* body
	-------------------------------------------------- */
    body {
        font-size: 1.4rem;
        min-width: inherit;
		letter-spacing: 0.04em;
    }
	
    /* Responsive
	-------------------------------------------------- */
    .pc {
        display: none;
    }
    .sp {
        display: inline;
    }

    /*/////////////////////////////////////////////////////////////////////////////


              // common parts //
	  

    /////////////////////////////////////////////////////////////////////////////*/
    
	/* ===============================================
        layout
	=============================================== */
	/* container
	-------------------------------------------------- */
	
    /* section
	-------------------------------------------------- */
	.section-wrap {
		padding: 0 5.3333%;
		box-sizing: border-box;
	}
	
	
	/* ===============================================
        title
	=============================================== */
	/* sec-ttl
	-------------------------------------------------- */
	.sec-ttl {
	    padding: 40px 0 20px;
	}
	.sec-ttl .ttl {
	    font-size: 2.4rem;
	}
	.sec-ttl .subttl {
	    font-size: 1.6rem;
	    font-weight: 700;
	    color: #513DFF;
	    margin-bottom: 5px;
	}
	.sec-ttl .subttl span {
	    padding: 0 35px;
	}
	.sec-ttl .subttl span::before,
	.sec-ttl .subttl span::after {
	    width: 20px;
	    height: 4px;
	}
	.sec-ttl.bg-ttl {
	    padding: 60px 0 35px;
	}
	.sec-ttl.bg-ttl .bg {
	    width: 65%;
	    left: -25px;
	    top: 0px;
	}

	
	/* ===============================================
        btn
	=============================================== */
	/* btn
	-------------------------------------------------- */
	.btn a {
	    padding: 15px 50px;
	    background: #0079ef url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="8" height="12" viewBox="0 0 8 12"><path fill-rule="evenodd" fill="rgb(255, 255, 255)" d="M0.4,0.3L0.4,0.3c-0.5,0.4-0.5,1.1,0,1.5l4.1,3.6c0.5,0.4,0.5,1.1,0,1.4l-4.1,3.5c-0.5,0.4-0.5,1.1,0,1.5l0,0 c0.4,0.4,1.1,0.3,1.5,0l5.8-5c0.5-0.4,0.5-1.1,0-1.5l-5.8-5C1.4-0.1,0.8-0.1,0.4,0.3z"/></svg>') no-repeat right 20px center;
	    background-size: 6px auto;
	}
	.btn-wrap {
	    margin-top: 30px;
	}
	.btn-wrap .btn a {
	    padding: 15px 40px;
	}
	
	/* btn-txt
	-------------------------------------------------- */
	.btn-txt a {
	    padding-right: 45px;
	}
	
	/* ===============================================
        list
	=============================================== */
	
	/* note-list
	---------------------------------------- */
	.note-list {
	    margin-top: 5px;
	}
	.note-list li {
	    font-size: 1.2rem;
	    letter-spacing: 0;
	    line-height: 1.5;
	    margin-top: 5px;
	}
	.note-list li .numb {
	    width: 25px;
	}
	.note-list li .numb + p {
	    width: calc(100% - 30px);
	}
	
    /*/////////////////////////////////////////////////////////////////////////////


              // header //
	  

	/////////////////////////////////////////////////////////////////////////////*/

    /* header
	-------------------------------------------------- */
	.header-logo {
		width: 120px;
		position: absolute;
		top: 25px;
		left: 20px;
	}
	
	/*/////////////////////////////////////////////////////////////////////////////


              // visual //
	  

	/////////////////////////////////////////////////////////////////////////////*/
	.visual {
	    max-height: inherit;
	}
	.visual::before {
		background: rgba(0,0,0,0.40);
	}
	.visual-bg {
	    width: 260px;
	    height: 264px;
	    left: 5.3333%;
	}
	.visual-bg .item {
		width: 260px;
	    left: -55px;
	    top: -70px;
	}
	.visual-cont {
	    left: 0;
	    transform: translateY(-55%);
		padding: 0 5.3333%;
	}
	.visual-cont__txt {
	    font-size: 4.26666vw;
	    padding-right: 50px;
	}
	.visual-cont__txt::after {
	    width: 30px;
	}
	.visual-cont__copy {
	    font-size: 7.8vw;
	    margin: 15px 0 10px;
	}
	.visual-cont__lead {
	    font-size: 4.26666vw;
	}
	
	/* ===============================================
        scroll
	=============================================== */
	.scroll {
	    height: 140px;
	    bottom: 20px;
	    right: 15px;
	}
	.scroll .scroll__bar1,
	.scroll .scroll__bar2 {
	    height: 140px;
	}
	.scroll p {
	    font-size: 1.0rem;
	}
	
	/*/////////////////////////////////////////////////////////////////////////////


              // contents //
	  

	/////////////////////////////////////////////////////////////////////////////*/
	
	/* ===============================================
        anchor-link
	=============================================== */
	.anchor-link {
	    width: calc(100% - 8%);
	    padding-left: 5.3333%;
	    margin: -40px 0 0;
	}
	.anchor-link-inner {
	    padding: 10px 8% 30px 0;
	    color: #FFFFFF;
	    position: relative;
	}
	.anchor-link__txtbg {
	    font-size: 29.3333vw;
	    left: -23px;
	    top: -55px;
	    opacity: 0.2;
	}
	.anchor-link__ttl {
	    font-size: 1.4rem;
	    letter-spacing: 0.14em;
	    padding: 0 0 55px 5px;
	}
	.anchor-link__ttl::after {
	    height: 26px;
	    bottom: 22px;
	    left: 30px;
	}
	.anchor-link ul {
	    display: block;
	}
	.anchor-link li {
	    width: 100%;
		margin-bottom: 10px;
	}
	.anchor-link li a {
	    min-height: inherit;
	    padding: 15px 45px 20px 20px;
	    font-size: 1.1rem;
	    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="14" height="9" viewBox="0 0 14 9"><path fill-rule="evenodd" fill="rgb(255, 255, 255)" d="M13.698,0.422 L13.697,0.421 C13.242,0.110 12.456,0.123 11.986,0.392 L7.831,4.950 C7.370,5.455 6.604,5.455 6.143,4.948 L2.5,0.395 C1.535,0.122 0.748,0.109 0.292,0.423 L0.292,0.423 C0.117,0.902 0.109,1.636 0.312,2.105 L6.143,8.593 C6.605,9.107 7.378,9.107 7.840,8.594 L13.678,2.105 C14.100,1.636 14.110,0.902 13.698,0.422 Z"/></svg>') no-repeat right 20px center;
	    background-size: 12px auto;
	}
	.anchor-link li a .en {
		letter-spacing: 0.18em;
	}
	.anchor-link li a .ttl {
	    font-size: 1.5rem;
	    line-height: 1.6;
	    margin-top: 2px;
	}
	
	/* ===============================================
        introArea
	=============================================== */
	.introArea {
	    position: relative;
	}
	.intro-col3 {
		margin-top: 20px;
	}
	.intro-col3 .block {
	    width: 48%;
	    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
	    margin: 10px 1% 40px;
	    padding: 30px 13px 20px;
	    font-size: 1.4rem;
		letter-spacing: 0;
	}
	.intro-col3 .block .numb {
	    width: 56px;
	    height: 56px;
	    font-size: 1.0rem;
	    top: -30px;
	}
	.intro-col3 .block .numb .en {
	    font-size: 2.0rem;
	}
	
	/* ===============================================
        solutionArea
	=============================================== */
	.solutionArea {
	    padding: 20px 0 30px;
	}
	.solutionArea::before {
	    border-top: 130px solid #FFFFFF;
	}
	.solution-ttl {
	    font-size: 2.6rem;
	    line-height: 1.6;
	    margin-bottom: 20px;
	}
	.txt-col2 {
	    display: block;
	    margin-bottom: 30px;
	}
	.txt-col2 .block {
	    width: 100%;
	}
	.solution-list {
	    display: block;
	}
	.solution-list .block-wrap {
	    width: 100%;
	    margin-bottom: 30px;
	}
	.solution-list .block-wrap:nth-child(even) {
	    margin-left: 0;
	}
	.block-worries {
		justify-content: space-between;
	    padding: 0 0 25px 30px;
	}
	.block-worries::before {
	    content: "";
	    width: 20px;
	    height: 25px;
	    left: 10px;
	    top: 35px;
	}
	.block-worries::after {
	    border-top: 11px solid #006cec;
	    border-left: 5.5px solid transparent;
	    border-right: 5.5px solid transparent;
	    left: 5px;
	    top: 54px;
	}
	.block-worries .numb {
	    width: 56px;
	    height: 56px;
	    font-size: 1.1rem;
	    margin-right: 0;
	}
	.block-worries .numb .en {
	    font-size: 2.0rem;
	}
	.block-worries .ttl {
		width: calc(100%  - 70px);
		font-weight: 700;
	}
	.block-solution {
	    padding: 35px 15px 15px;
	}
	.block-solution .numb {
	    width: 120px;
	    line-height: 40px;
	    font-size: 1.6rem;
	}
	.block-solution .numb .en {
	    font-size: 2.0rem;
	}
	.block-solution .ttl {
	    font-size: 1.6rem;
	}
	
	/* ===============================================
        meritArea
	=============================================== */
	.meritArea {
	    padding: 10px 0;
		overflow: hidden;
	}
	.meritArea .sec-ttl .bg-txt {
	    font-size: 16.0rem;
	    position: absolute;
	    right: -30px;
	    top: 40px;
	    line-height: 1;
	    opacity: 0.1;
	}
	.merit-col3 {
	    display: block;
	    padding-top: 20px;
	}
	.merit-col3 .block {
		width: 100%;
	    padding: 45px 20px 30px;
	    font-size: 1.4rem;
		margin-bottom: 55px;
	}
	.merit-col3 .block .numb {
	    font-size: 1.6rem;
	    top: -20px;
	}
	.merit-col3 .block .numb::before,
	.merit-col3 .block .numb::after {
		width: 33%;
	    top: 20px;
	}
	.merit-col3 .block .numb span {
	    font-size: 3.8rem;
	}
	.merit-col3 .block .ttl {
	    font-size: 2.0rem;
	    margin-bottom: 10px;
	}
	
	/* ===============================================
        reasonArea
	=============================================== */
	.reasonArea {
	    padding-bottom: 10px;
	}
	.cont-col1 {
	    padding-bottom: 40px;
	}
	.cont-txtcol2 {
	    display: block;
	}
	.cont-txtcol2 p {
	    width: 100%;
	}
	.cont-col2 {
	    display: block;
	    padding-bottom: 45px;
	}
	.cont-ttl {
	    padding: 10px 0 15px;
	    line-height: 1.6;
	}
	.cont-ttl::before {
	    width: 100%;
	}
	.cont-col1 .cont-ttl::before {
	    width: 100%;
	}
	.cont-ttl .ttl {
	    font-size: 2.0rem;
	    padding: 10px 0 0;
	}
	.cont-block {
	    width: 100%;
		margin-bottom: 20px;
	}
	.cont-img {
	    width: 100%;
	}
	
	/* ===============================================
        modernizationArea
	=============================================== */
	.modernizationArea {
	    padding: 0 0 70px;
	}
	.modernization-cont {
	    position: relative;
	    margin-bottom: 30px;
	}
	.modernization-cont .thumb {
	    width: 100%;
	}
	.modernization-cont .block {
	    width: 100%;
	    padding: 20px 20px 30px;
	    position: static;
	    transform: none;
	}
	.modernization-cont .block .ttl {
	    font-size: 1.6rem;
	    margin-bottom: 15px;
	}
	.modernization-cont .block .company-name {
	    font-size: 1.2rem;
	    padding: 8px 0;
		margin-bottom: 20px;
	}
	.modernizationArea .btn {
	    text-align: center;
	}
	
	/* ===============================================
        otherArea
	=============================================== */
	.otherArea {
	    padding-bottom: 60px;
	}
	.otherArea::before {
	    border-top: 130px solid #f5f5f5;
	}
	.product-col2 {
	    display: block;
	}
	.product-col2 .thumb-wrap {
	    width: 100%;
		margin-bottom: 20px;
	}
	.product-col2 .block {
	    width: 100%;
	}
	
	
	/*/////////////////////////////////////////////////////////////////////////////


              // cvArea //
	  

	/////////////////////////////////////////////////////////////////////////////*/
	.cvArea {
	    padding: 50px 0 50px;
	    background-size: 100%;
		overflow: hidden;
		background:linear-gradient(to right, #2E2E2E 0%, 000 100%);
	}
	.cvArea .section-wrap {
		padding: 0 4%;
	}
	.cvArea__bg-txt {
	    font-size: 12.0rem;
	}
	.cvArea__ttl {
	    font-size: 2.6rem;
	    margin-bottom: 8px;
	}
	.cvArea__txt {
	    font-size: 1.3rem;
	    font-weight: 500;
	    margin-bottom: 25px;
		padding: 0 5px;
	}
	.cv-btn {
	    width: 100%;
	}
	.cv-btn a {
	    display: inline-block;
	    width: 100%;
	    font-size: 1.6rem;
	}
	.cv-btn a::before {
	    top: 3px;
	}
	.cv-btn a span {
	    padding: 15px 0;
	    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="8" height="12" viewBox="0 0 8 12"><path fill-rule="evenodd" fill="rgb(255, 255, 255)" d="M0.4,0.3L0.4,0.3c-0.5,0.4-0.5,1.1,0,1.5l4.1,3.6c0.5,0.4,0.5,1.1,0,1.4l-4.1,3.5c-0.5,0.4-0.5,1.1,0,1.5l0,0 c0.4,0.4,1.1,0.3,1.5,0l5.8-5c0.5-0.4,0.5-1.1,0-1.5l-5.8-5C1.4-0.1,0.8-0.1,0.4,0.3z"/></svg>') no-repeat right 20px center,
		linear-gradient(90deg, #5738F5 0%, #CF52F6 100%);
	    background-size: 7px auto,100%;
	}
	.cv-btn-list {
	    justify-content: space-between;
	    padding: 15px 0 0;
	}
	.cv-btn-list .cv-btn {
	    width: 49%;
	    margin: 0;
	}
	.cv-btn-list .icon {
	    width: 30px;
	    margin: 0 auto 6px;
	}
	.cv-btn-list .txt {
	    font-size: 1.1rem;
		letter-spacing: 0;
	    line-height: 1.6;
	    padding: 0 10px;
	    margin-bottom: 10px;
	}
	.cv-btn-list .txt::before,
	.cv-btn-list .txt::after {
	    height: 30px;
	}
	.cv-btn-list .txt::before {
	    transform: translateY(-50%) rotate(-18deg);
	}
	.cv-btn-list .txt::after {
	    transform: translateY(-50%) rotate(18deg);
	}
	.cv-btn-list .cv-btn a {
	    font-size: 1.3rem;
	}
	.cv-btn-list .cv-btn a span {
	    padding: 15px 0;
		 background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="8" height="12" viewBox="0 0 8 12"><path fill-rule="evenodd" fill="rgb(255, 255, 255)" d="M0.4,0.3L0.4,0.3c-0.5,0.4-0.5,1.1,0,1.5l4.1,3.6c0.5,0.4,0.5,1.1,0,1.4l-4.1,3.5c-0.5,0.4-0.5,1.1,0,1.5l0,0 c0.4,0.4,1.1,0.3,1.5,0l5.8-5c0.5-0.4,0.5-1.1,0-1.5l-5.8-5C1.4-0.1,0.8-0.1,0.4,0.3z"/></svg>') no-repeat right 15px center,
		linear-gradient(90deg, #5738F5 0%, #CF52F6 100%);
	    background-size: 6px auto,100%;
	}
	
	/*/////////////////////////////////////////////////////////////////////////////


              // footer //
	  

	/////////////////////////////////////////////////////////////////////////////*/
	.footer {
	    padding: 20px 0 140px;
	    font-size: 1.3rem;
	}
	.ft-logo-wrap {
	    display: block;
	    justify-content: center;
	    align-items: center;
	    margin: 25px 0 20px;
	}
	.ft-logo {
	    width: 165px;
	    margin: 0 auto 5px;
	}
	.ft-txt {
	    font-size: 1.4rem;
	}
	
	/*/////////////////////////////////////////////////////////////////////////////


              // fixed-nav //
	  

	/////////////////////////////////////////////////////////////////////////////*/
	.fixed-nav {
	    min-width: inherit;
	    padding: 15px 0;
	}
	.fixed-nav .section-wrap {
		padding: 0 2.5%;
	}
	.fixed-nav ul {
	    display: flex;
	    justify-content: space-between;
	}
	.fixed-nav ul li {
	    width: 32.5%;
	}
	.fixed-nav ul li a {
	    display: block;
		min-height: 77px;
		border: 1px solid #FFFFFF;
	    padding: 6px 10px 8px;
	    border-radius: 6px;
		text-align: center;
		box-sizing: border-box;
	}
	.fixed-nav ul li a .icon {
	    width: 25px;
	    margin: 0 auto 2px;
	}
	.fixed-nav ul li a .txt-wrap {
	    width: 100%;
	    font-weight: 700;
	    color: #FFFFFF;
	}
	.fixed-nav ul li a .txt {
		display: none;
	}
	.fixed-nav ul li a .ttl {
	    font-size: 1.1rem;
		line-height: 1.3;
	}
	
	
	
	
}
