@charset "UTF-8";
/**====================================
 * CSS information
 * file name	: style-sp.css
 * author		: libretto works
====================================**/
@media screen and (max-width: 767px) {
	
    /*/////////////////////////////////////////////////////////////////////////////


              // TOP //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    
    /* visual  ---------------------------------------- */
    .visual {
        position: relative;
        width: 100%;
        height: 100vh;
        box-sizing: border-box;
    }
    
    /* visual-block */
    .visual-main {
        width: 100%;
        height: calc(100% - 58px);
        position: absolute;
        left: 0;
        top: 0;
    }
    .visual-sub {
        width: 36%;
        position: absolute;
        right: 0;
        bottom: 0;
        transition: opacity 1s .5s;
        opacity: 0;
    }
    .visual-sub-slider .thumb::after {
        padding-top: 100%;
    }
    .visual .ttl {
        font-size: 1.1rem;
        letter-spacing: 0.02em;
        left: 4%;
        bottom: 12px;
        color: #1a1a1a;
        z-index: 2;
    }
    .visual .subttl {
        font-size: 2.8rem;
        right: inherit;
        left: 10.66666%;
        top: inherit;
        bottom: 26%;
        transform: none;
        color: #ffffff;
    }
    .visual .subttl span {
        display: block;
        transform: translateY(50px);
        opacity: 0;
    }
    
    /* t-sec-pick  ---------------------------------------- */
    .pickup-news {
        width: 100%;
        min-width: inherit;
        padding: 25px 0 20px;
    }
    .pickup-news .en-ttl {
        width: 55px;
        font-size: 1.2rem;
    }
    .pickup-news a {
        display: block;
        width: calc(100% - 55px);
        padding: 4px 0 4px 18px;
    }
    .cate-wrap {
        margin-bottom: 5px;
    }
    .date {
        font-size: 1.2rem;
        margin-right: 10px;
    }
    .cate {
        font-size: 1.1rem;
    }
    .pickup-news .ttl {
        font-size: 1.4rem;
        margin-left: 0;
        padding-left: 0;
    }
    .pickup-news .ttl::before {
        display: none;
    }

    
    /* t-sec-about  ---------------------------------------- */
    .t-sec-about {
        padding: 55px 0 65px;
    }
    .t-sec-about .sec-ttl .ttl span:nth-child(1) {
        padding-right: 70px;
    }
    .t-sec-about .sec-ttl .ttl span:nth-child(2) {
        padding-left: 70px;
    }
    .t-sec-about-col2 {
        display: block;
        margin: 30px 0 50px;
    }
    .t-sec-about-side {
        width: 60%;
        margin: 0 auto;
    }
    .t-sec-about-cont {
        width: 100%;
        padding: 15px 0 0;
        z-index: 2;
    }
    .txt-wrap p {
        margin-top: 1.2em;
    }
    .t-sec-about-img01 {
        width: 36%;
        right: -8px;
        bottom: -20px;
    }
    .t-sec-about-img02 {
        width: 75%;
        margin-left: 0;
    }
    
    /* t-sec-service  ---------------------------------------- */
    .t-sec-service {
        padding: 0;
    }
    .t-sec-service-fig {
        height: 100vh;
        position: sticky;
        left: 0;
        top: 0;
    }
    .t-sec-service-fig .parallax-img.thumb img {
        height: 100%;
    }
    .t-sec-service .sec-ttl {
        margin-top: calc(-100vh + 80px);
    }
    .t-sec-service-list {
        display: block;
        margin: 0;
        padding-bottom: 20px;
    }
    .t-sec-service-list::before {
        display: none;
    }
    .t-sec-service-list li {
        width: 100%;
        padding: 50px 6.6666%;
        margin-bottom: 10px;
        position: relative;
    }
    .t-sec-service-list li::after {
        content: "";
        width: 89.3334%;
        height: 1px;
        background: rgba(255,255,255,0.40);
        position: absolute;
        left: 5.6666%;
        bottom: 0;
    }
    .t-sec-service-list li:last-child::after {
        display: none;
    }
    .t-sec-service-list li .ttl {
        margin-bottom: 30px;
    }
    .t-sec-service-list li .ttl span {
        font-size: 2.4rem;
        letter-spacing: 0.12em;
    }
    .t-sec-service-list li .txt {
        margin-bottom: 10px;
    }
    
    /* t-sec-cases  ---------------------------------------- */
    .t-sec-cases {
        padding: 60px 0 60px;
    }
    .t-sec-cases-list {
        padding: 40px 0 0;
    }
    .cases-counter {
        top: 50%;
        right: 4%;
        padding-top: 14px;
    }
    .cases-counter .en-ttl {
        font-size: 1.0rem;
        padding: 3px 8px 0 0;
    }
    .cases-counter .counter {
        width: 98px;
        height: 46px;
        font-size: 2.2rem;
    }
    .cases-counter .counter .num {
        font-size: 4.4rem;
        line-height: 1;
    }
    .cases-counter .counter .total {
        top: -4px;
        right: 0px;
    }
    .t-sec-cases-list {
    }
    .t-sec-cases-list .block {
        display: block;
        height: 100vh;
    }
    .t-sec-cases-list .block .thumb {
        width: 100%;
        height: 50vh;
    }
    .t-sec-cases-list .block-inner {
        width: 100%;
        padding: 30px 5.6666%;
        position: static;
    }
    .t-sec-cases-list .block .ttl {
        font-size: 2.0rem;
        padding: 20px 0;
    }
    .case-cate {
        font-size: 1.2rem;
        padding: 1px 14px 2px;
    }
    .t-sec-cases-list .block .case-tag {
        margin-bottom: 0px;
    }
    .case-tag li {
        font-size: 1.2rem;
    }
    .t-sec-cases-list .block .btn {
        margin-top: 12px;
    }
    
    /* t-sec-item  ---------------------------------------- */
    .t-sec-item {
        padding-bottom: 80px;
    }
    .t-sec-item-img .thumb {
        height: inherit;
    }
    .t-sec-item-img .thumb::after {
        padding-top: 90%;
    }
    .t-sec-item-block {
        width: 94.3334%;
        padding: 45px 5.6666% 25px 11%;
        position: relative;
        right: inherit;
        bottom: inherit;
        margin: -60px 0 0 5.6666%;
    }
    .t-sec-item-slider-wrap {
        padding-top: 32px;
    }
    .t-sec-item-slider-wrap::after {
        width: 92%;
        left: 4%;
    }
    .t-sec-item-slider-inner {
        position: relative;
        padding: 20px 0;
    }
    .t-sec-item-slider-inner::before {
        width: 92%;
        left: 4%;
    }
    .t-sec-item-slider li {
        margin-right: 22px;
    }
    .t-sec-item-slider li .thumb {
        width: 80px;
    }
    .t-sec-item-slider li .thumb::after {
        padding-top: 75%;
    }
    .t-sec-item-slider li p {
        padding-left: 14px;
    }
    
    /* t-sec-shop  ---------------------------------------- */
    .t-sec-shop {
        padding: 80px 0;
        margin-bottom: 60px;
    }
    .t-sec-shop-bg {
        width: 92%;
        left: 4%;
    }
    .t-sec-shop-block {
        width: 88%;
        padding: 40px 6% 45px;
    }
    .t-sec-shop-block-fig {
        padding: 20px 0 14px;
    }
    
    /* t-sec-projects  ---------------------------------------- */
    .t-sec-projects {
        display: block;
    }
    .t-sec-projects-fig {
        width: 100%;
    }
    .t-sec-projects-fig .thumb {
        height: inherit;
    }
    .t-sec-projects-fig .thumb::after {
        padding-top: 75%;
    }
    .t-sec-projects-block {
        width: 100%;
        padding: 40px 5.6666% 60px;
        display: block;
    }
    .t-sec-projects-block-inner {
        max-width: inherit;
    }
    .t-sec-projects-block .sec-ttl {
        margin-bottom: 0;
    }
    
    /* t-sec-news  ---------------------------------------- */
    .t-sec-news {
        margin: 60px 0 60px;
    }
    .t-sec-news-col2 {
        display: block;
    }
    .t-sec-news-col2::before {
        content: "";
        width: 100%;
        height: 1px;
        background: #babdbe;
        position: absolute;
        left: 0;
        top: 0;
    }
    .t-sec-news-side {
        width: 100%;
        padding: 35px 0 14px;
    }
    .t-sec-news-inner {
        width: 93%;
        margin-left: 7%;
    }
    .news-list {
        margin-bottom: 0;
    }
    .news-item a {
        padding: 16px 0;
    }
    .news-item a .news-item-block {
        display: block;
        padding: 0;
    }
    .news-item a .news-item-block .cate-block {
        width: 100%;
        padding: 0 0 8px;
    }
    .news-item a .news-item-block .cate-block .date {
        font-size: 1.2rem;
        margin-bottom: 2px;
    }
    .news-item a .news-item-block .ttl {
        width: 100%;
        font-size: 1.5rem;
    }
    .news-item a .thumb {}
    .news-item a .thumb::after {
        padding-top: 100%;
    }
    
    /* sec-movie  ---------------------------------------- */
    .sec-movie::after {
        height: 100px;
    }
    .sec-movie-txt {
        font-size: 2.2rem;
    }
    
    /*/////////////////////////////////////////////////////////////////////////////


              // ABOUT //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    
    /* sec-message  ---------------------------------------- */
    .sec-message {
        padding: 60px 0 0;
    }
    .sec-message-col2 {
        display: block;
        justify-content: space-between;
        align-items: flex-start;
    }
    .sec-message-fig {
        width: 45%;
        margin: 0 0 35px;
    }
    .sec-message-block {
        width: 100%;
        display: block;
    }
    .sec-message-ttl {
        width: auto;
        justify-content: flex-end;
        float: right;
        padding: 0 0 30px 28px;
        margin-top: -180px;
    }
    .sec-message-ttl .en-ttl {
        font-size: 1.2rem;
        margin-left: 8px;
    }
    .sec-message-ttl .ttl {
        font-size: 2.2rem;
    }
    .sec-message-ttl .ttl span {
        display: block;
    }
    .sec-message-cont {
        width: 100%;
        margin-top: 0;
    }
    
    /* sec-thought  ---------------------------------------- */
    .sec-thought {
        padding: 60px 0 0;
    }
    .sec-thought-col2 {
        display: block;
        padding: 40px 0;
    }
    .sec-thought-cont {
        width: 100%;
        padding: 0;
    }
    .sec-thought-cont .ttl {
        font-size: 1.6rem;
        letter-spacing: 0.08em;
        white-space: normal;
        margin-bottom: 14px;
    }
    .sec-thought-cont .en-ttl {
        font-size: 5.8rem;
        letter-spacing: 0.02em;
        white-space: normal;
        margin-bottom: 26px;
    }
    .sec-thought-fig {
        width: 96%;
        margin: 30px auto 0;
    }
    .sec-thought-list {
        padding: 0;
    }
    .sec-thought-list li {
        padding: 32px 0;
    }
    .sec-thought-list li .numb {
        width: 12%;
        font-size: 1.2rem;
        padding: 4px 0 0;
    }
    .sec-thought-list li dl {
        width: 86%;
    }
    .sec-thought-list li dl .ttl {
        font-size: 2.0rem;
        margin-bottom: 14px;
    }
    .sec-thought-movie {
        width: 100%;
        height: 320px;
        padding: 70px 0 0;
    }
    .txt-slider li {
        font-size: 9.0rem;
        letter-spacing: 0.04em;
        margin-right: 36px;
    }
    
    /* sec-strengths  ---------------------------------------- */
    .sec-strengths {
        padding: 60px 0;
    }
    .sec-strengths-list {
        display: block;
        padding-top: 40px;
    }
    .sec-strengths-list li {
        width: 100%;
        padding: 0 0 48px;
        border-right: none;
        box-sizing: border-box;
    }
    .sec-strengths-list li:nth-child(3n) {
        padding-bottom: 0;
    }
    .sec-strengths-list li .thumb-wrap .en-ttl {
        font-size: 1.2rem;
        left: 12%;
    }
    .sec-strengths-list li .thumb {
        width: 58%;
    }
    .sec-strengths-list li dl {
        padding-top: 20px;
    }
    .sec-strengths-list li dl .ttl {
        font-size: 2.0rem;
        margin-bottom: 10px;
    }
    
    /*/////////////////////////////////////////////////////////////////////////////


              // SERVICE //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    
    /* sec-anchor  ---------------------------------------- */
    .sec-anchor {
        padding: 40px 0 60px;
    }
    .sec-anchor .txt {
        margin-bottom: 35px;
    }
    .anchor-link-fig {}
    .anchor-link-fig li {
        width: 50%;
        padding: 0 4% 20px;
        border-bottom: 1px solid #babdbe;
    }
    .anchor-link-fig li:nth-child(2n) {
        border-right: none;
    }
    .anchor-link-fig li:nth-child(n+3) {
        padding: 25px 4% 0;
        border-bottom: none;
    }
    .anchor-link-fig li a {
        padding-bottom: 30px;
    }
    .anchor-link-fig li a .thumb-wrap {
        margin-bottom: 14px;
    }
    .anchor-link-fig li a .thumb-wrap .en-ttl {
        font-size: 1.0rem;
        left: 0.8%;
    }
    .anchor-link-fig li a .thumb {
        width: 65%;
    }
    .anchor-link-fig li a .ttl {
        font-size: 1.4rem;
    }
    
    /* sec-service  ---------------------------------------- */
    .sec-service {
        padding: 0 0 70px;
    }
    .sec-service-top {
        display: block;
        padding-bottom: 45px;
    }
    .sec-service-top-fig {
        width: calc(100% - 4%);
    }
    .sec-service-top-fig .thumb::after {
        padding-top: 75%;
    }
    .sec-service-top-cont {
        width: 100%;
        padding: 0 5.3333%;
        box-sizing: border-box;
    }
    .sec-service:nth-child(2n) .sec-service-top-cont {
        padding: 0 5.3333%;
    }
    .sec-service-top-cont-inner {
        border-top: none;
        padding: 28px 0 0;
    }
    .sec-service-top-cont .en-ttl {
        font-size: 1.2rem;
        margin-bottom: 10px;
    }
    .sec-service-top-cont .ttl {
        font-size: 2.8rem;
        margin-bottom: 12px;
    }
    .sec-service-detail {
        padding: 0;
    }
    .sec-service-detail-ttl {
        width: 40px;
        font-size: 1.1rem;
        line-height: 1;
        top: 40px;
        padding-bottom: 10px;
    }
    .sec-service-detail-cont {
        width: calc(100% - 45px);
    }
    .sec-service-detail-list {
        display: block;
    }
    .sec-service-detail-list li {
        width: 100%;
        margin-bottom: 32px;
    }
    .sec-service-detail-list li:last-child {
        margin-bottom: 0;
    }
    .sec-service-detail-list li .en-ttl {
        font-size: 1.0rem;
        line-height: 1;
        margin-bottom: 24px;
    }
    .sec-service-detail-list li dl {
        margin-top: 16px;
    }
    .sec-service-detail-list li .ttl {
        font-size: 2.0rem;
        margin-bottom: 8px;
    }
    .sec-service-detail-list li dd {
        font-size: 1.4rem;
        line-height: 2;
    }
    .sec-service-subcont {
        display: block;
        padding-top: 32px;
        margin-top: 40px;
    }
    .sec-service-subcont .thumb {
        width: 100%;
    }
    .sec-service-subcont-inner {
        width: 100%;
        margin-top: 20px;
    }
    .sec-service-subcont .ttl {
        font-size: 2.0rem;
        margin-bottom: -0.4em;
    }
    .sec-service-subcont .be-af {
        margin-bottom: 10px;
    }
    .sec-service-subcont .be-af::before {
        border-left: 10px solid #1a1a1a;
        border-top: 6px solid transparent;
        border-bottom: 6px solid transparent;
    }
    .sec-service-subcont .be-af li {
        width: 46%;
    }
    .sec-service-subcont .be-af li .en-ttl {
        font-size: 1.4rem;
        margin-bottom: 10px;
    }
    
    /* sec-cases  ---------------------------------------- */
    .sec-cases {
        padding: 60px 0;
    }
    
    /*/////////////////////////////////////////////////////////////////////////////


              // CASES //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    
    /* cases-navigation  ---------------------------------------- */
    .cases-navigation {
        padding: 40px 5.3333% 0;
    }
    .cases-navigation-inner {
        display: block;
        padding: 20px 0 0;
    }
    .cases-navigation-inner::before {
        width: 120px;
    }
    .cases-cate-nav {
        width: 100%;
        display: block;
    }
    .cases-cate-nav .en-ttl {
        width: 100%;
        font-size: 1.2rem;
        margin-bottom: 16px;
    }
    .cases-cate-nav ul {
        width: 100%;
        margin-bottom: 10px;
    }
    .cases-cate-nav ul li {
        width: 140px;
        margin: 0 6px 0 0;
    }
    .cases-cate-nav ul li a {
        padding: 11px 6px 12px;
    }
    .cases-tag-nav select {
        width: 180px;
    }
    
    /* sec-cases-list  ---------------------------------------- */
    .cases-list {
        margin-bottom: 40px;
    }
    .cases-list::after {
        display: none;
    }
    .cases-list .block {
        width: 47%;
        padding-bottom: 25px;
        margin-top: 30px;
    }
    .cases-list .block a {
        padding-bottom: 20px;
    }
    .case-cate-wrap {
        flex-wrap: wrap;
    }
    .case-cate-wrap .case-date {
        font-size: 1.2rem;
        padding-left: 10px;
    }
    .cases-list .block a .case-cate-wrap .case-cate {
        margin-right: 10px;
    }
    .cases-list .block a .case-cate-wrap .case-date {
        font-size: 1.0rem;
        padding-left: 0;
    }
    .cases-list .block a .block-cont {
        padding: 12px 0;
    }
    .cases-list .block a .block-cont .ttl {
        font-size: 1.4rem;
        margin: 10px 0;
    }
    .cases-list .block a .block-cont .case-tag li {
        font-size: 1.0rem;
    }
    .btn-detail {
        font-size: 1.1rem;
        padding: 10px 2px;
    }
    .btn-detail::after {
        background-size: 90% auto;
    }
    
    .cases-slider {
        width: calc(100% + 5.3333vw);
    }
    .cases-slider  .slick-track {
        display: flex;
    }
    .cases-slider .slick-slide {
        height: auto !important;
    }
    .cases-slider.cases-list .block {
        width: 70vw;
        padding-right: 5.3333vw;
    }
    
    /* wp-pagenavi  ---------------------------------------- */
    .wp-pagenavi {
        margin: 40px auto 0;
        font-size: 1.2rem;
    }
    .wp-pagenavi a {
        width: 37px;
        height: 37px;
        margin: 0 3px 6px;
        line-height: 37px;
    }
    .wp-pagenavi span.current {
        width: 37px;
        height: 37px;
        margin: 0 3px 6px;
        line-height: 37px;
    }
    .wp-pagenavi span.extend {
        line-height: 37px;
        margin: 0 3px 6px;
    }
    
    /*/////////////////////////////////////////////////////////////////////////////


              // CASES DETAIL //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    
    /* cases-detail-ttl  ---------------------------------------- */
    .cases-detail-ttl {
        width: 100%;
        height: 100vh;
    }
    .cases-detail-ttl-cont {
        width: calc(100% - 10.6666%);
        left: 5.3333%;
        bottom: 8%;
    }
    .cases-detail-ttl-cont .ttl {
        font-size: 2.2rem;
    }
    
    /* sec-cases-detail  ---------------------------------------- */
    .sec-cases-detail {
        padding: 40px 5.3333% 60px;
    }
    .sec-cases-detail-col2 {
        display: block;
    }
    .sec-cases-detail-main {
        width: 100%;
        margin-bottom: 32px;
    }
    .cases-detail-gallery li {
        margin-bottom: 10px;
    }
    .sec-cases-detail-side {
        width: 100%;
    }
    .sec-cases-detail-side .txt {
        margin-bottom: 30px;
    }
    .cases-detail-info {
        padding: 24px 0 0;
        position: relative;
        left: 0;
        top: 0;
    }
    .cases-detail-info .case-date {
        font-size: 1.3rem;
    }
    .cases-detail-info .ttl {
        font-size: 1.8rem;
        margin: 6px 0 16px;
    }
    .cases-detail-info .case-cate {
        margin-bottom: 14px;
    }
    .cases-detail-info dl {
        font-size: 1.3rem;
        margin-bottom: 12px;
    }
    .cases-detail-info dl dt {
        margin-bottom: 2px;
    }
    
    /* detail-nav  ---------------------------------------- */
    .detail-nav {
        width: 100%;
        margin: 0 auto 60px;
    }
    .detail-nav ul {
        width: 100%;
        position: relative;
        margin: 0 auto;
    }
    .detail-nav ul li a {
        font-size: 1.3rem;
        line-height: 2;
    }
    .detail-nav ul li.btn-back span {
        padding-left: 50px;
    }
    .detail-nav ul li.btn-back span::before {
        width: 40px;
    }
    .detail-nav ul li.btn-prev a,
    .detail-nav ul li.btn-next a {
        width: 30px;
        height: 26px;
    }
    .detail-nav ul li.btn-prev a {
        padding-left: 0;
    }
    .detail-nav ul li.btn-next a {
        padding-right: 0;
    }
    
    /*/////////////////////////////////////////////////////////////////////////////


              // ITEM //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    
    /* sec-brand  ---------------------------------------- */
    .sec-brand {
        padding: 40px 0 0;
    }
    .sec-brand-col2 {
        display: block;
    }
    .sec-brand-side {
        display: none;
    }
    .brand-nav li {
        font-size: 1.4rem;
        line-height: 1.4;
        font-weight: 500;
        margin-bottom: 16px;
    }
    .sec-brand-main {
        width: 100%;
    }
    .brand-list {
        padding-top: 10px;
    }
    .brand-list .block {
        padding: 30px 0;
    }
    .brand-list .block:nth-last-child(-n+2) {
        border-bottom: none;
    }
    .brand-list .block .block-inner {
        padding: 0 25px 40px;
    }
    .brand-list .block:nth-child(2n) .block-inner {
        padding: 0 15px 40px 35px;
    }
    .brand-list .block:nth-child(2n) .block-inner::after {
        margin: 0 0 0 10px;
    }
    .brand-list .block .thumb-wrap {
        position: relative;
        margin-bottom: 20px;
    }
    .brand-list .block .thumb-wrap .en-ttl {
        font-size: 1.1rem;
        white-space: nowrap;
        left: -20px;
    }
    .brand-list .block .brand-logo {
        max-width: 100px;
    }
    
    /* sec-item  ---------------------------------------- */
    .sec-item {
        padding: 40px 0 0;
    }
    .item-nav {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        padding: 30px 0 0;
    }
    .item-nav li {
        font-size: 1.3rem;
        margin: 0 20px 6px 0;
    }
    .item-list {
        position: relative;
        padding: 40px 0 0;
    }
    .item-list .en-ttl {
        width: 100%;
        border-top: 1px solid #babdbe;
        font-size: 1.4rem;
        position: relative;
        right: 0;
        top: 0;
        padding: 28px 0 24px;
    }
    .item-list .block {
        display: block;
    }
    .item-list .block .thumb {
        width: 100%;
    }
    .item-list .block-inner {
        width: 100%;
        padding: 12px 0 0;
    }
    .item-list .block .ttl {
        font-size: 2.2rem;
    }
    .item-list .block .item-info {
        font-size: 1.2rem;
        margin-top: 2px;
    }
    .item-list .block .txt {
        margin-top: 8px;
    }
    
    /*/////////////////////////////////////////////////////////////////////////////


              // BUSINESS //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    
    /* page-lead  ---------------------------------------- */
    .page-lead {
        padding: 60px 0;
        text-align: center;
    }
    .page-lead .ttl {
        font-size: 2.2rem;
    }
    .page-lead .txt {
        margin-top: 24px;
    }
    .page-lead .note {
        margin-top: 1.75rem;
    }
    .page-lead-list {
        display: block;
        margin: 35px auto 10px;
        padding: 15px 0;
    }
    .page-lead-list li {
        width: 100%;
        font-size: 1.8rem;
        padding: 20px 10px;
    }
    .page-lead-list li::after {
        width: 60px;
        height: 1px;
        right: inherit;
        top: inherit;
        left: 50%;
        bottom: 0;
        transform: translateX(-50%);
    }
    .page-lead .txt-logo {
        margin-top: 20px;
    }
    .page-lead .txt-logo .en-ttl {
        font-size: 5.2rem;
    }
    
    /* sec-b-feature  ---------------------------------------- */
    .sec-b-feature {
        padding-bottom: 60px;
    }
    .sec-b-feature-col2 {
        display: block;
    }
    .sec-b-feature-fig {
        width: 82%;
    }
    .sec-b-feature-fig .thumb::after {
        padding-top: 120%;
    }
    .sec-b-feature-cont {
        width: 100%;
        box-sizing: border-box;
        padding-left: 5.6338%;
    }
    .b-feature-list .block {
        margin-top: 45px;
    }
    .b-feature-list .block .en-ttl {
        font-size: 1.2rem;
        margin-bottom: 16px;
    }
    .b-feature-list .block .en-ttl span {
        padding-right: 145px;
    }
    .b-feature-list .block .ttl {
        font-size: 2.0rem;
        margin-bottom: 10px;
    }
    
    /* sec-clients  ---------------------------------------- */
    .sec-clients {
        padding-bottom: 60px;
    }
    .clients-list {
        margin: 26px 0 6px;
    }
    .clients-list li {
        width: 50%;
        padding: 0;
    }
    .note {
        font-size: 1.2rem;
    }
    
    /* sec-pagelist  ---------------------------------------- */
    .sec-pagelist {
        padding: 60px 0 0;
    }
    .sec-pagelist .pagelist {
        padding-left: 0;
    }
    .pagelist .block {
        padding-bottom: 16px;
    }
    .pagelist .block a {
        padding: 0 25px;
    }
    .pagelist .block a .thumb {
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
    }
    .pagelist .block a .block-inner {
        padding: 72px 0 50px;
    }
    .pagelist .block a .arrow {
        margin-top: 24px;
    }
    
    /*/////////////////////////////////////////////////////////////////////////////


              // PRODUCE //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    
    /* sec-feature  ---------------------------------------- */
    .sec-feature {
        padding-bottom: 20px;
    }
    .feature-list {
        padding: 30px 0 0 0;
    }
    .feature-list .block {
        display: block;
        margin-bottom: 35px;
    }
    .feature-list .block .thumb-wrap {
        width: calc(100% - 24px);
    }
    .feature-list .block .thumb-wrap .en-ttl {
        font-size: 1.2rem;
        right: -24px;
    }
    .feature-list .block-inner {
        width: 100%;
        padding: 18px 0 0;
    }
    .feature-list .block-inner::before {
        display: none;
    }
    .feature-list .block .subttl {
        font-size: 1.4rem;
        margin-bottom: 12px;
    }
    .feature-list .block .ttl {
        font-size: 2.0rem;
        margin-bottom: 12px;
    }
    
    /* sec-industries  ---------------------------------------- */
    .sec-industries {
        padding-bottom: 30px;
    }
    .industries-list {
        padding: 30px 0 0 0;
    }
    .industries-list .block {
        width: 47%;
        margin-bottom: 24px;
    }
    .industries-list .block .ttl {
        font-size: 1.4rem;
        margin: 6px 0 0;
    }
    .industries-list .block .ttl span {
        font-size: 1.2rem;
    }
    
    /* sec-results  ---------------------------------------- */
    .sec-results {
        padding: 60px 0 50px;
    }
    .sec-results-inner {
        padding: 35px 0 0 0;
    }
    .sec-results-head {
        display: block;
        border-top: 1px solid #babdbe;
        padding: 40px 0 35px;
        text-align: center;
    }
    .sec-results-head .ttl {
        font-size: 2.4rem;
    }
    .sec-results-head .results-info {
        width: 100%;
        padding: 16px 0 0;
        border-left: none;
        box-sizing: border-box;
    }
    .sec-results-col2 {
        display: block;
    }
    .results-before {
        width: 100%;
        margin-bottom: 16px;
    }
    .results-before .en-ttl {
        margin-top: 4px;
    }
    .results-cont {
        width: 100%;
    }
    .results-cont-box {
        display: block;
        padding: 20px;
    }
    .results-cont-box .ttl {
        width: 100%;
        font-size: 1.6rem;
        padding: 0 0 16px;
        text-align: center;
    }
    .results-cont-box ul {
        width: 100%;
        padding: 12px 0 0 0;
        border-left: none;
        border-top: 1px solid #babdbe;
    }
    .sec-results-main {
        padding: 30px 20px 16px;
        margin-top: 20px;
    }
    .sec-results-main-ttl {
        text-align: center;
        padding: 30px 0;
        margin-bottom: 16px;
    }
    .sec-results-main-ttl .ttl {
        font-size: 2.0rem;
    }
    .sec-results-main-ttl .subttl {
        font-size: 1.6rem;
    }
    .sec-results-main-ttl .subttl span {
        font-size: 3.6rem;
    }
    .sec-results-main-ttl .txt {
        font-size: 1.6rem;
        line-height: 1.6;
        margin-top: 10px;
    }
    .results-after ul {
        display: block;
        margin-top: 6px;
    }
    .results-after li {
        width: 100%;
        margin-bottom: 10px;
    }
    
    /* sec-flow  ---------------------------------------- */
    .sec-flow {
        padding: 60px 0;
        overflow: hidden;
    }
    .sec-flow-inner {
        padding: 30px 0 0 5.3333%;
    }
    .flow-block {
        width: 72vw;
        padding-right: 5.3333vw;
    }
    .flow-block-inner {
        padding-top: 16px;
    }
    .flow-block .numb {
        width: 30px;
        font-size: 1.2rem;
    }
    .flow-block dl {
        width: calc(100% - 32px);
    }
    .flow-block dt {
        font-size: 1.7rem;
        margin-bottom: 4px;
    }
    .flow-block dd {
        font-size: 1.3rem;
    }
    
    /* sec-faq  ---------------------------------------- */
    .sec-faq {
        padding: 60px 0;
    }
    .sec-faq-col2 {
        display: block;
        padding: 12px 0 0 0;
    }
    .sec-faq-side {
        width: 100%;
        padding: 0 0 20px;
    }
    .sec-faq-side .ttl {
        font-size: 2.2rem;
    }
    .sec-faq-cont {
        width: 100%;
    }
    .faq-list .block {
        margin-bottom: 2px;
        padding: 2px 0;
    }
    .faq-list .question {
        padding: 18px 36px 18px 0;
    }
    .faq-list .question .en {
        width: 30px;
        font-size: 2.0rem;
        padding: 2px 0 0;
    }
    .faq-list .question .ttl {
        width: calc(100% - 32px);
        font-size: 1.5rem;
        padding-top: 0;
    }
    .faq-list .question .plus {
        width: 21px;
        height: 21px;
        right: 0;
    }
    .faq-list .answer {
        padding: 0 0 30px 32px;
    }
    
    /* subpage-link  ---------------------------------------- */
    .subpage-link-inner {
        padding: 10px 0 0 30%;
        margin-bottom: -24px;
    }
    .subpagelist {
        display: block;
        padding-top: 20px;
    }
    .subpagelist .block {
        width: 100%;
    }
    .subpagelist .block a {
        display: block;
        padding: 20px 0 24px;
    }
    .subpagelist .block .thumb-wrap {
        margin-bottom: 16px;
    }
    .subpagelist .block .thumb {
        width: 38%;
    }
    .subpagelist .block .thumb::after {
    padding-top: 118%;
}
    .subpagelist .block .ttl {
        font-size: 1.6rem;
    }
    .subpagelist .block .ttl::after {
        right: 0;
    }
    
    /*/////////////////////////////////////////////////////////////////////////////


              // LEASE //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    
    /* sec-scene  ---------------------------------------- */
    .sec-scene {
        padding: 0 0 60px;
    }
    .sec-scene-inner {
        padding: 30px 0 0 0;
    }
    .sec-scene-col2 {
        padding: 24px 0 30px;
    }
    .sec-scene-ttl {
        width: 26px;
        flex-wrap: wrap;
        top: 100px;
        padding: 0 0 20px 4px;
    }
    .sec-scene-ttl::after {
        display: none;
    }
    .sec-scene-ttl .en-ttl {
        width: 100%;
        text-align: center;
        font-size: 1.2rem;
        margin-bottom: 10px;
    }
    .sec-scene-ttl .ttl {
        width: 100%;
        font-size: 2.4rem;
        line-height: 1;
    }
    .sec-scene-cont {
        width: calc(100% - 70px);
        padding: 30px 0 0;
    }
    .sec-scene-cont .ttl {
        font-size: 1.8rem;
        margin-bottom: 32px;
    }
    .scene-point {
        position: relative;
        margin-bottom: 20px;
    }
    .scene-point .en-ttl {
        padding: 0 10px;
        left: 16px;
        top: -6px;
    }
    .scene-point ul {
        display: block;
        padding: 10px 20px 6px;
    }
    .scene-point ul li {
        width: 100%;
        font-size: 1.4rem;
        text-align: left;
        padding: 16px 0;
    }
    .scene-point ul li::after {
        width: 100%;
        height: 1px;
        right: 0;
        top: inherit;
        bottom: 0;
        transform: none;
    }
    .scene-fig {
        display: block;
    }
    .scene-fig li {
        width: 100%;
        margin-bottom: 10px;
    }
    .sec-scene-btm {
        padding: 5px 0 0;
    }
    .sec-scene-btm .lead {
        font-size: 1.6rem;
        margin-bottom: 20px;
    }
    .scene-col4 {
        margin-bottom: -16px;
    }
    .scene-col4 .block {
        width: 48%;
        margin-bottom: 16px;
    }
    .scene-col4 .block .ttl {
        font-size: 1.4rem;
        margin: 8px 0 0;
    }
    
    /* sec-merit  ---------------------------------------- */
    .sec-merit {
        padding: 60px 0 50px;
    }
    .sec-merit-col2 {
        display: block;
        padding: 12px 0 0 0;
    }
    .sec-merit-side {
        width: 100%;
        padding: 0;
    }
    .sec-merit-side .ttl {
        font-size: 2.2rem;
    }
    .sec-merit-cont {
        width: 100%;
    }
    .merit-list {
        display: block;
        margin: 30px 0 0;
    }
    .merit-list .block {
        width: 100%;
        padding: 26px 20px 26px 32px;
        margin-bottom: 10px;
    }
    .merit-list .block::before {
        width: 12px;
        height: 12px;
        left: 12px;
        top: 12px;
    }
    .merit-list .block .ttl {
        font-size: 1.4rem;
    }
    .merit-list .txt-block {
        margin-bottom: 16px;
    }
    
    /* sec-box  ---------------------------------------- */
    .note-box-wrap {
        padding: 70px 5.6338% 0 0;
    }
    .note-box {
        display: block;
        padding: 20px;
    }
    .note-box .ttl {
        font-size: 1.8rem;
        width: 100%;
        margin-bottom: 12px;
    }
    .note-box-inner {
        width: 100%;
        padding: 16px 0 0 0;
        border-left: none;
        border-top: 1px solid #dcdede;
    }
    
    /*/////////////////////////////////////////////////////////////////////////////


              // SHOP //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    
    /* sec-shop  ---------------------------------------- */
    .sec-shop {
        margin: 60px 0 0;
    }
    .sec-shop-fig .thumb::after {
        padding-top: 75%;
    }
    .sec-shop-col2 {
        display: block;
        padding: 35px 0 0 0;
    }
    .sec-shop-side {
        width: 100%;
        position: static;
        padding-bottom: 20px;
    }
    .sec-shop-cont {
        width: 100%;
        padding: 0;
    }
    .sec-shop-cont .txt {
        margin-bottom: 26px;
    }
    .sec-shop-cont .map {
        margin: 35px 0 0;
    }
    .sec-shop-cont .map .thumb::after {
        padding-top: 66.6666%;
    }
    .sec-shop-cont .map .btn {
        margin-top: 6px;
        text-align: right;
    }
    .sec-shop-gallery {
        padding: 30px 0 20px;
    }
    .sec-shop-gallery .en-ttl {
        font-size: 1.4rem;
        margin-bottom: 8px;
    }
    .sec-shop-gallery .thumb {
        width: 70vw;
        margin-right: 2vw;
    }
    .sec-shop-gallery .thumb::after {
        padding-top: 75%;
    }
    
    /*/////////////////////////////////////////////////////////////////////////////


              // NEWS //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    .sec-news-col2 {
        display: block;
    }
    .sec-news-side {
        width: 100%;
        padding: 20px 0 35px;
    }
    .sec-news-side .en-ttl {
        font-size: 1.2rem;
    }
    .cate-list {
        width: calc(100% + 5.3333vw);
        padding: 10px 25px 10px 0;
        display: flex;
        justify-content: flex-start;
        overflow-x: auto;
        box-sizing: border-box;
    }
    .cate-list li {
        margin: 0 6px 0 0;
        white-space: nowrap;
    }
    .cate-list li a {
        font-size: 1.2rem;
        padding: 6px 12px 8px;
        background: #eeefef;
        text-align: center;
    }
    .archive-nav select {
        width: 180px;
        height: 47px;
    }
    .sec-news-main {
        width: 100%;
    }
    
    /*/////////////////////////////////////////////////////////////////////////////


              // NEWS DETAIL //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    .sec-news-detail {
        padding: 50px 0 60px;
        display: block;
    }
    
    /* entry  ---------------------------------------- */
    .entry {
        width: 100%;
    }
    .entry blockquote {
        background: #f5f5f5;
        padding: 16px 20px;
        margin: 1.5em 0;
    }
    .entry blockquote h2:first-child,
    .entry blockquote h3:first-child,
    .entry blockquote h4:first-child,
    .entry blockquote h5:first-child {
        margin-top: 0.8em;
    }
    .entry blockquote h2:first-child {
        margin-bottom: 0.2em;
    }
    .entry ul li::before {
        top: 11px;
    }
    .entry h2 {
        font-size: 2.2rem;
        margin: 0.85em 0 1.2em;
    }
    .entry h3 {
        font-size: 1.8rem;
        margin: 1.4em 0 0.8em;
        padding-bottom: 15px;
        padding-left: 15px;
    }
    .entry h3::before {
        width: 3px;
        height: calc(100% - 18px);
        top: 3px;
    }
    .entry h4 {
        font-size: 1.7rem;
        margin: 1em 0 0.5em;
    }
    .entry h5 {
        font-size: 1.6rem;
        margin: 1em 0 0;
    }
    
    /*/////////////////////////////////////////////////////////////////////////////


              // CONTACT //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    
    /* sec-contact-col2  ---------------------------------------- */
    .sec-contact-col2 {
        display: block;
    }
    
    /* sec-contact-side  ---------------------------------------- */
    .sec-contact-side {
        width: 100%;
        position: relative;
        padding: 20px 0 40px;
    }
    .sec-contact-side::before {
        width: 220px;
        max-width: inherit;
    }
    .sec-contact-main {
        width: 100%;
        padding: 20px 0 0;
        position: relative;
    }
    .sec-contact-main::before {
        width: 220px;
    }
    .sec-contact-side .en-ttl,
    .sec-contact-main .en-ttl {
        margin-bottom: 16px;
    }
    
    /* contact-tel-block  ---------------------------------------- */
    .contact-tel-block .tel {
        font-size: 2.6rem;
        margin: 0 0 8px;
    }
    .contact-tel-block-info p {
        font-size: 1.3rem;
        margin-bottom: 0;
    }
    
    /* contact-block  ---------------------------------------- */
    .contact-block-txt {
        margin-bottom: 16px;
        font-size: 1.2rem;
    }
    .contact-block dl {
        padding: 8px 0 4px;
    }
    .contact-block dl dt {
        font-size: 1.4rem;
    }
    .contact-block dl dd {
        font-size: 1.4rem;
    }
    
    /* input  ---------------------------------------- */
    input[type="text"],
    input[type="number"],
    input[type="password"],
    input[type="email"] {
        padding: 15px;
        margin: 5px 0;
        height: 50px;
        font-size: 1.4rem;
    }
    select {
        margin: 5px 0;
        width: 100%;
        height: 50px;
        padding: 0 15px;
        font-size: 1.4rem;
    }
    textarea {
        width: 100%;
        height: 220px;
        padding: 15px;
        font-size: 1.4rem;
        margin: 5px 0;
    }
    
    /* form-btn  ---------------------------------------- */
    .form-btn {
        padding-top: 20px;
        font-size: 1.4rem;
        text-align: center;
    }
    .form-btn ul {
        justify-content: center;
        padding-top: 30px;
    }
    .form-btn ul li {
        width: 90%;
        margin: 10px auto;
    }
    input[type="submit"],
    input[type="reset"],
    input[type="button"],
    button[type="submit"] {
        width: 85%;
        height: 60px;
        margin: 0 auto 10px;
        font-size: 1.5rem;
    }
    button[type="submit"] {
        margin: 20px auto 0;
    }
}