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


              // TOP //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    
	/* visual
	-------------------------------------------------- */
	.visual {
	    height: 100vh;
	    padding-left: 0;
	    margin-bottom: 45px;
		overflow: hidden;
	}
	.visual-main {
	    padding: 265px 0 0 4%;
	}
	.visual-slider {
	    opacity: 0;
	}
	.visual-slider::after {
	    width: 88vw;
	    height: 94.13333vw;
	    position: absolute;
	    left: auto;
		right: -39.5%;
	    top: -300px;
	    margin-top: 0;
}
	.visual-slider .thumb {
	    height: calc(100vh - 280px);
		border-radius: 20px 0 0 20px;
	}
	.visual-ttl {
	    left: 0;
	    top: 100px;
	    transform: none;
		width: 100%;
	}
	.visual-ttl::before {
	    content: "";
	    width: 160px;
	    height: 160px;
	    position: absolute;
	    left: 160px;
		/*right: -30px;*/
	    top: 0px;
	    
	}
	.visual-ttl .ttl {
	    font-size: 2.35rem;
	    line-height: 2.2;
	    letter-spacing: 0.08em;
		writing-mode: vertical-rl;
		position: absolute;
		left: 9.5%;
		top: -5px;
		white-space: nowrap;
	}
	.visual-ttl .ttl::after {
	    display: none;
	}
	.visual-ttl .en-ttl {
		font-size: 2.4vw;
	    position: absolute;
		left: 48%;
		top: 30px;
	    line-height: 2.0;
		white-space: nowrap;
	}
	.motion .visual-slider {
	    animation: fade 1s forwards 0.55s;
	}
	.motion .visual-ttl {
	    animation: fade 0.6s forwards;
	}
	.motion .visual-ttl .ttl span {
	    animation: fade 0.6s forwards .4s;
	    filter: blur(0);
	}
	.motion .visual-ttl .en-ttl {
	    animation: fade 0.6s forwards .4s;
	    filter: blur(0);
	}
	.motion .visual-ttl .ttl::after {
	    animation: ttl-stretch 0.55s cubic-bezier(0.76, 0.09, 0.215, 1) forwards;
	}
	
	/* t-companyArea
	-------------------------------------------------- */
	.t-companyArea-main {
	    display: block;
	    padding-bottom: 50px;
	}
	.t-companyArea-main::before {
	    height: 220px;
	}
	.t-companyArea-block {
	    width: 100%;
		box-sizing: border-box;
		padding-left: 7.1428%;
	}
	.t-companyArea-img01 {
	    width: 45%;
	    margin-bottom: 10px;
		border-radius: 4px;
	}
	.t-companyArea-block .subttl {
	    font-size: 1.9rem;
	    line-height: 2;
	    letter-spacing: 0.12em;
	    margin-bottom: 25px;
	}
	.t-companyArea-block .txt {
	    line-height: 2.2;
	}
	.t-companyArea-side {
	    width: 100%;
	    padding: 40px 0 0;
	}
	.t-companyArea-img02 {
	    width: 100%;
		border-radius: 0 8px 8px 0;
	}
	.t-companyArea-img02::after {
	    padding-top: 75%;
	}
	.icon-rc {
	    width: 90%;
	    right: -20px;
	    bottom: 35px;
	}
	.t-companyArea-nav {
	    padding-bottom: 50px;
	}
	.t-companyArea-nav-slider {
	    padding-bottom: 40px;
	}
	.t-companyArea-nav .btn {
	    text-align: left;
	    padding-right: 0;
	}
	/*-- countNav-item --*/
	.countNav-item {
	    width: 60vw;
	    margin-right: 5.5vw;
	}
	.countNav-item .thumb {
		margin-bottom: 20px;
		border-radius: 4px;
	}
	.countNav-item .ttl {
	    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="36" height="8" viewBox="0 0 36 8"><path fill-rule="evenodd" fill="none" stroke="rgb(26, 26, 26)" d="M28,0.3l6.8,7.2H0"/></svg>') no-repeat right 5px top 9px;
	    background-size: 24px auto;
	    padding-left: 0;
	    padding-right: 35px;
	}
	.countNav-item .ttl .en {
	    margin-right: 10px;
	    padding-top: 4px;
	    font-size: 1.1rem;
	}

	/* t-serviceArea
	-------------------------------------------------- */
	.t-serviceArea {
	    display: block;
	    padding-top: 50px;
	    margin-bottom: 50px;
	}
	.t-serviceArea-side {
	    width: 100%;
	    position: static;
	}
	.t-serviceArea-side .txt {
	    font-size: 1.4rem;
	    margin-bottom: 30px;
	}
	.t-serviceArea-nav {
	    width: 100%;
	}
	.serviceNav-item-wrap {
	}
	
	/* t-qualityArea
	-------------------------------------------------- */
	.t-qualityArea {
	    padding-bottom: 50px;
	}
	.t-qualityArea-ttl {
	    height: 280px;
	    padding-top: 60px;
	}
	.t-qualityArea-ttl .lead {
	    font-size: 1.7rem;
	    letter-spacing: 0.16em;
	    margin-top: -5px;
	}
	.t-qualityArea-nav {
	    margin-top: -60px;
	}
	.t-qualityArea-nav-inner {
	    background: #FFFFFF;
	    padding: 30px 0 40px 25px;
		border-radius: 6px 0 0 6px;
	}
	.t-qualityArea-nav-slider {
	    padding-bottom: 20px;
	}
	.t-qualityArea-nav .btn {
	    text-align: left;
	    padding-right: 0;
	}
	/*-- countNav-item --*/
	.t-qualityArea-nav .countNav-item {
	    width: 60vw;
	    margin-right: 5.5vw;
	}
	
	/* t-productsArea
	-------------------------------------------------- */
	.t-productsArea {
	    display: block;
	    padding: 0 0 60px !important;
	}
	.t-productsArea-img01 {
	    width: 100%;
		border-radius: 0;
	}
	.t-productsArea-img01.thumb::after {
	    padding-top: 66.6666%;
	}
	.t-productsArea-main {
	    width: 100%;
	    position: relative;
	}
	.t-productsArea-block {
	    padding: 40px 6.6666% 40px;
	}
	.t-productsArea-block .txt {
	    margin-bottom: 30px;
	}
	.t-productsArea-img02 {
	    width: 42%;
	    bottom: inherit;
		top: 100%;
	    right: 4%;
		border-radius: 6px;
	}
	.t-productsArea-img02.thumb::after {
		padding-top: 78%;
	}
	
	/* t-newsArea
	-------------------------------------------------- */
	.t-newsArea {
	    padding: 50px 0 60px;
	    display: block;
	}
	.t-newsArea-side {
		margin-bottom: 20px;
	}
	.t-newsArea-main {
	    width: 100%;
	    border-top: 1px solid #d9d9d9;
	}
	.news-list li a {
	    display: block;
	    padding: 20px 35px 20px 0;
	    position: relative;
	    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="36" height="8" viewBox="0 0 36 8"><path fill-rule="evenodd" fill="none" stroke="rgb(26, 26, 26)" d="M28,0.3l6.8,7.2H0"/></svg>') no-repeat right center;
	    background-size: 24px auto;
	}
	.news-head {
	    margin-bottom: 10px;
	}
	.news-head .date {
	    line-height: 26px;
	    font-size: 1.3rem;
	}
	.news-head .cate-wrap {
	    margin-left: 10px;
	}
	.news-head .cate {
	    font-size: 1.1rem;
	    line-height: 1.5;
	    padding: 5px 10px 5px;
	}
	.news-list li a .ttl {
	    line-height: 1.75;
	}
	.t-newsArea .news-list + .btn {
		display: inline-block;
	    text-align: left;
		margin-top: 30px;
	}
	
	/* linkbnrArea
	-------------------------------------------------- */
	.linkbnrArea {
	    padding: 0 0 50px;
	    margin-top: 0;
	}
	.linkbnrArea .section-wrap {
		padding: 0 !important;
	}
	.linkbnr-block {
		border-radius: 0;
	}
	.linkbnr-block a {
	    height: auto;
	    display: block;
		background: rgba(42,44,46,0.80);
	    padding: 60px 8% 50px;
		font-size: 1.3rem;
	}
	.linkbnr-block a .sec-ttl {
	    padding-right: 0;
	}
	.linkbnr-block a .arrow {
	    position: static;
	    margin-top: 20px;
	}
	
	/* bnr-block
	-------------------------------------------------- */
	.bnr-block {
	    width: 100%;
	    margin: 0 auto;
		padding: 0 6.6666%;
		box-sizing: border-box;
	}
	.bnr-block a {
	    display: block;
	    width: 100%;
	    height: auto;
	    box-sizing: border-box;
	    border: 1px solid #e5e5e5;
		padding: 20px;
	}
	.bnr-block .thumb {
	    width: 100%;
	    height: auto;
	}
	.bnr-block .thumb::after {
		padding-top: 66.6666%;
	}
	.bnr-block .bnr-block-inner {
	    width: 100%;
	    padding: 15px 0 10px;
		box-sizing: border-box;
		font-size: 1.3rem;
	}
	.bnr-block .ttl {
	    font-size: 1.8rem;
		line-height: 1.5;
		padding-bottom: 15px;
	    margin-bottom: 15px;
	}
	.bnr-block .ttl .en-ttl {
	    font-size: 2.2rem;
	    margin-left: 5px;
	}
	.bnr-block .ttl .en-ttl span {
	    font-size: 1.2rem;
	    margin-left: 0;
		display: block;
	}
	.t-bnrArea {
	    margin-bottom: 50px;
	}
	
	
	/*/////////////////////////////////////////////////////////////////////////////


              // indexNav-list //
	  

	/////////////////////////////////////////////////////////////////////////////*/
	.indexNav-list {
	    display: flex;
	    justify-content: space-between;
	    flex-wrap: wrap;
	    padding-bottom: 20px;
	}
	.indexNav-list::after {
	    display: none;
	}
	.indexNav-item {
	    width: 47.5%;
	    margin-bottom: 40px;
	}
	.indexNav-item a {
	    padding-bottom: 25px;
	}
	.indexNav-item .thumb {
		border-radius: 4px;
	}
	.indexNav-item-inner {
	    padding-top: 12px;
	}
	.indexNav-item .numb {
	    font-size: 1.1rem;
	    margin-bottom: 2px;
	}
	.indexNav-item .ttl {
	    font-size: 1.5rem;
	    margin-bottom: 5px;
	    padding-right: 30px;
	    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="36" height="8" viewBox="0 0 36 8"><path fill-rule="evenodd" fill="none" stroke="rgb(26, 26, 26)" d="M28,0.3l6.8,7.2H0"/></svg>') no-repeat right 10px top 10px;
	    background-size: 20px auto;
	}
	.indexNav-item .txt {
	    font-size: 1.2rem;
	}
	
	/*/////////////////////////////////////////////////////////////////////////////


              // COMPANY //
	  

	/////////////////////////////////////////////////////////////////////////////*/
	
	/* MESSAGE
	-------------------------------------------------- */
	.company-message-img {
		width: 65%;
		margin: 30px auto 0;
	}
	
	/* PHILOSOPHY
	-------------------------------------------------- */
	.company-philosophy {
	    text-align: center;
	    margin-bottom: 30px;
	}
	.company-philosophy-logo {
	    width: 75%;
	    margin: 0 auto 20px;
	}
	.company-philosophy .ttl {
	    font-size: 1.8rem;
	}
	.company-philosophy-img {
	    margin: 30px auto 0;
	}
	.company-motto-ttl {
	    font-size: 3.0rem;
	    margin-top: -10px;
	}
	.company-kihan-list {
	    margin-bottom: 10px;
	}
	.company-kihan-list li {
	    padding: 0 0 10px 30px;
	}
	
    /* OUTLINE
    -------------------------------------------------- */
    .affiliated-ttl {
        font-size: 1.8rem;
        line-height: 1.5;
        background-size: auto 45px;
        padding: 9px 0;
        margin: 0 0 15px;
    }
    .affiliated-ttl._kometsune {
        padding-left: 96px;
        margin-top: 10px;
    }
    .affiliated-ttl._thailand {
        padding-left: 60px;
        margin-top: -15px;
    }
    
	/* PLACE
	-------------------------------------------------- */
	.company-place {
	    display: block;
	    padding-top: 25px;
	    margin-bottom: 50px;
	}
	.company-place-block {
	    width: 100%;
	}
	.company-place-block .ttl {
	    font-size: 2.0rem;
	    padding-bottom: 10px;
	    margin-bottom: 15px;
	}
    .company-place-block .ttl span {
	    font-size: 1.6rem;
	}
	.company-place-block .address {
	    margin-bottom: 8px;
	}
	.company-place-block .btn {
	    margin-top: 20px;
	}
	.company-place-map {
	    width: 100%;
	    height: 180px;
		margin-top: 25px;
	}
	
	/* MEDIA
	-------------------------------------------------- */
	.media-ttl {
	    display: block;
	    padding: 25px 0 20px;
	}
	.media-ttl::before {
	    width: 60px;
	}
	.media-ttl .ttl {
	    width: 100%;
	    font-size: 1.8rem;
		line-height: 1.75;
		margin-bottom: 15px;
	}
	.media-ttl .fan-logo {
	    width: 90px;
	}
	
	
	
	/*/////////////////////////////////////////////////////////////////////////////


              // SERVICE //
	  

	/////////////////////////////////////////////////////////////////////////////*/
	
	/* serviceNav-list
	-------------------------------------------------- */
	.serviceNav-list {
	    padding-bottom: 50px;
	}
	
	/* serviceNav-item
	-------------------------------------------------- */
	.serviceNav-item {
	    width: 100%;
	    margin-bottom: 35px;
	}
	.serviceNav-item .serviceNumb {
	    left: 10px;
	    bottom: -25px;
	}
	.serviceNav-item .serviceNumb .txt {
	    font-size: 1.2rem;
	    padding: 0 10px 3px 0;
	}
	.serviceNav-item .serviceNumb .numb {
	    font-size: 3.6rem;
	}
	.serviceNav-list .serviceNav-item-inner .ttl {
	    font-size: 2.3rem;
	}
	.serviceNav-item-inner {
	    padding: 35px 10px 0;
	}
	.serviceNav-item-inner .ttl {
	    font-size: 2.3rem;
	    line-height: 1.75;
	    margin-bottom: 5px;
	    font-weight: 500;
	}
	.serviceNav-item-inner .btn-txt {
	    margin-top: 10px;
	}
	.t-serviceArea-nav .serviceNav-item {
		width: 47.5%;
	    margin-bottom: 35px;
	}
	.t-serviceArea-nav .serviceNav-item .serviceNumb {
		left: 5px;
	    bottom: -15px;
	}
	.t-serviceArea-nav .serviceNav-item .serviceNumb .txt {
	    font-size: 1.0rem;
	    padding: 0 10px 3px 0;
	}
	.t-serviceArea-nav .serviceNav-item .serviceNumb .numb {
	    font-size: 2.4rem;
	}
	.t-serviceArea-nav .serviceNav-item-inner {
	    padding: 25px 5px 0;
	}
	.t-serviceArea-nav .serviceNav-item-inner .ttl {
	    font-size: 1.9rem;
	}
	.t-serviceArea-nav .serviceNav-item-inner .ttl + p{
	    font-size: 1.2rem;
	}
	
	/* service-head
	-------------------------------------------------- */
	.service-head {
	    display: block;
		background: #fafafa;
		margin-bottom: 50px;
	}
	.service-head-ttl {
	    width: 100%;
	}
	.service-head-ttl .ttl {
	    font-size: 2.0rem;
	    letter-spacing: 0.10em;
	    line-height: 1.9;
	    writing-mode: horizontal-tb;
	    padding: 35px 0 15px;
	}
	.service-head-ttl .ttl span {
	    position: relative;
	}
	.service-head-ttl .ttl::before {
	    width: 200px;
	    height: 210px;
	    right: -60px;
	    top: -40px;
	}
	.service-head-cont {
	    width: 100%;
	    padding: 0 0 45px;
	}
	.service-head-cont .lead {
	    line-height: 2;
	}
	.service-head-anchor {
	    margin-top: 40px;
	    padding-top: 35px;
	}
	
	/* bd-t list-box
	-------------------------------------------------- */
	.list-box-col3 {
	    display: block;
	}
	.list-box-col3::after {
	    display: none;
	}
	.list-box-col3 .list-box {
	    width: 100%;
	}
	.list-box-col2 {
	    display: block;
	}
	.list-box-col2 .list-box {
	    width: 100%;
	}
	.list-box {
	    padding: 25px 0 35px;
	}
	.list-box .ttl {
	    font-size: 1.8rem;
	    padding-bottom: 10px;
	}
	.list-box .thumb-img {
		padding-top: 15px;
	}
	.list-box .caption {
	    margin: 7px 0;
	}

	/* SEIMAI
	-------------------------------------------------- */
	.sec-seimai-feature {
	    position: relative;
	    padding-bottom: 0px;
		background: #FFFFFF;
	}
	.sec-seimai-feature::before {
		display: none;
	}
	.seimai-feature-top {
	    display: block;
	}
	.seimai-feature-top-block {
	    position: static;
		margin-bottom: 20px;
	}
	.seimai-feature-top-block-ttl {
	    font-size: 1.8rem;
	    margin-bottom: 15px;
	}
	.seimai-feature-top-img {
	    width: 100%;
	    margin-bottom: 50px;
	}
	.seimai-feature-btm {
	    padding: 0 6.6666% 30px 0;
	    display: block;
		background: #f7f7f7;
		position: relative;
	}
	.seimai-feature-btm::before {
		content: "";
		width: 100%;
		height: 80px;
		background: #ffffff;
		position: absolute;
		left: 0;
		top: -1px;
	}
	.seimai-feature-btm-img {
	    width: 100%;
	}
	.seimai-feature-btm-img .thumb {
	    height: 260px;
		border-radius: 0 8px 8px 0;
	}
	.seimai-feature-btm-block {
	    width: 100%;
	    padding: 50px 0 0 7.1428%;
		box-sizing: border-box;
	}
	.sec-seimai-factory {
	    padding: 50px 0 20px;
	}
	.seimai-factory-wrap {
	    padding-bottom: 10px;
	}
	.seimai-factory {
	    display: block;
	    margin-bottom: 30px;
	}
	.seimai-factory .thumb {
	    width: 100%;
	}
	.seimai-factory-block {
	    width: 100%;
	    border-top: none;
	    padding-top: 25px;
	}
	.seimai-factory-block .ttl {
	    font-size: 2.2rem;
	    margin-bottom: 5px;
	}
	.seimai-factory-block-col2 {
	    display: block;
	    margin-top: 20px;
	}
	.seimai-factory-block-col2 .block {
	    width: 100%;
	}
	.seimai-factory-block-col2 .block .subttl {
	    font-size: 1.6rem;
	    margin: 20px 0 15px;
	    padding-left: 20px;
	}
	.seimai-factory-block-col2 .block .subttl span {
	    font-size: 1.2rem;
	}
	.seimai-factory-block-col2 .block .table {
	    display: flex;
	    justify-content: space-between;
	    flex-wrap: wrap;
	    font-size: 1.3rem;
	}
	.seimai-factory-block-col2 .block .table dt {
	    width: 28%;
	}
	.seimai-factory-block-col2 .block .table dd {
	    width: 72%;
	}
	.sec-seimai-flow {
	    padding: 50px 0 50px;
	}
	.seimai-flow {
	    padding: 30px 20px 15px 20px;
		flex-wrap: wrap;
	    margin-top: 15px;
	}
	.seimai-flow .numb {
	    width: 60px !important;
		justify-content: flex-start;
	    margin: 0 0 25px;
		padding-left: 10px;
		box-sizing: border-box;
	}
	.seimai-flow .numb p {
	    font-size: 1.0rem;
	}
	.seimai-flow .numb p span {
	    font-size: 2.4rem;
	}
	.seimai-flow-block {
	    width: calc(100% - 60px);
	    font-size: 1.3rem;
	    line-height: 1.75;
	    padding: 0 0 0 20px;
		margin: 0 0 25px;
		box-sizing: border-box;
	}
	.seimai-flow-block._col1 {
	    width: calc(100% - 60px);
	}
	.seimai-flow-block .ttl {
	    font-size: 1.6rem;
	    letter-spacing: 0.08em;
	    margin-bottom: 10px;
		font-weight: 500;
	}
	.seimai-flow-img {
		width: 100%;
	    display: block;
	    margin-left: 0;
	}
	.seimai-flow-img .item {
	    width: 100% !important;
	    margin: 0 0 15px;
	    font-size: 1.2rem;
	}
	
	/* KAKOUMAI
	-------------------------------------------------- */
    .sec-kakoumai-feature {
        padding: 0 0 50px;
    }
    .kakoumai-feature-col2 {
        display: block;
    }
    .kakoumai-feature-col2 .thumb {
        width: 100%;
    }
    .kakoumai-feature-col2 .thumb::after {
        padding-top: 66.6666%;
    }
    .kakoumai-feature-col2 .block {
        width: 100%;
        padding: 25px 0 0;
    }
    .kakoumai-feature-col2 .block .subttl {
        font-size: 2.0rem;
        margin-bottom: 10px;
    }
    .sec-kakoumai-factory {
        padding: 40px 0 20px;
    }
    .sec-kakoumai-factory::before {
        display: none;
    }
	.kakoumai-feature-list {
	    display: block;
		margin-bottom: 10px;
	}
	.kakoumai-feature-list li {
	    width: 100%;
	    margin-bottom: 35px;
	}
    .kakoumai-feature-list li .block {
        padding-top: 15px;
    }
    .kakoumai-feature-list li .block .ttl {
        line-height: 28px;
        padding: 0 15px;
    }
	.kakoumai-feature-list li dl {
	}
	.kakoumai-feature-list li dt {
	    font-size: 2.0rem;
	    margin-bottom: 10px;
	}
    .kakoumai-feature-list li dl dd {
        font-size: 1.3rem;
    }
	.sec-kakoumai-mochi {
	    padding: 40px 0;
	    border-bottom: none
	}
	.kakoumai-mochi-col2 {
	    display: flex;
	    justify-content: space-between;
	}
	.kakoumai-mochi-col2 .block {
	    width: 52%;
	    font-size: 1.4rem;
	    padding: 10px 0;
	}
	.kakoumai-mochi-col2 .block .ttl {
	    font-size: 2.0rem;
	    margin-bottom: 5px;
	}
	.kakoumai-komeko-sale {
	    padding: 30px 20px 40px;
	    display: block;
	}
	.kakoumai-komeko-sale .thumb {
	    width: 100%;
	    height: auto;
		margin-bottom: 20px;
	}
	.kakoumai-komeko-sale .thumb::after {
		padding-top: 100%;
	}
	.kakoumai-komeko-sale .block {
	    width: 100%;
	    font-size: 1.3rem;
	}
	.kakoumai-komeko-sale .block .ttl {
	    font-size: 2.0rem;
	    margin-bottom: 5px;
	}
	.kakoumai-komeko-sale .block .btn {
		text-align: center;
	    margin-top: 20px;
	}
	
	/* SUIHAN
	-------------------------------------------------- */
	.sec-suihan-feature {
	    padding: 0 0 50px;
	}
	.suihan-feature {
	    display: block;
	    padding: 0 6.6666%;
	}
	.suihan-feature-img {
	    width: 100%;
		margin-bottom: 20px;
	}
	.suihan-feature-img .thumb {
		border-radius: 6px;
	}
	.suihan-feature-block {
	    width: 100%;
	    display: block;
	}
	.suihan-feature-block .ttl {
	    font-size: 1.9rem;
	    line-height: 1.9;
	    writing-mode: horizontal-tb;;
	    white-space: normal;
		text-align: center;
	}
	.sec-suihan-item {
	    padding: 50px 0 20px;
	}
	
	/* CHOKUHAN
	-------------------------------------------------- */
	.chokuhan-block {
	    display: block;
	    padding: 35px 0 0;
	}
	.chokuhan-block .thumb,
	.chokuhan-block._ginmai .thumb {
	    width: 78%;
		margin: 0 auto;
		border-radius: 4px;
	}
	.chokuhan-block .thumb::after {
	    padding-top: 100%;
	}
	.chokuhan-block .block,
	.chokuhan-block._ginmai .block {
	    width: 100%;
	    padding: 25px 0 0;
	}
	.chokuhan-block .block .shop-ttl {
	    margin: 0 auto 20px;
	}
	.chokuhan-block .block .shop-ttl-list {
	    display: flex;
	    justify-content: space-between;
	}
	.chokuhan-block .block .shop-ttl._tashi {
	    width: 78%;
	}
	.chokuhan-block .block .shop-ttl._maimu {
		width: 65%;
	}
	.chokuhan-block .block .shop-ttl._ginmai {
	    width: 60%;
	}
	.chokuhan-block .block .shop-ttl._riso {
	    width: 51%;
	    margin: 0;
	}
	.chokuhan-block .block .shop-ttl._komegura {
	    width: 38%;
		margin: 0;
	}
	.chokuhan-block .block .shop-lead {
	    font-size: 1.6rem;
	    letter-spacing: 0.08em;
	    margin: -5px 0 0;
		text-align: center;
	}
	.chokuhan-block .block .btn {
		text-align: center;
	    margin-top: 20px;
	}
	.chokuhan-block .block .btn a {
		width: 90%;
	}
	.chokuhan-shop-info {
	    display: block;
	    margin-top: 35px;
		background: #f7f7f7;
		padding: 5px 25px 30px;
	}
	.chokuhan-shop-info li {
	    width: 100%;
	    border-top: none;
	    font-size: 1.4rem;
		margin-top: 20px;
	}
	.chokuhan-shop-info-ttl {
	    font-size: 1.8rem;
		font-weight: 500;
	    padding: 0 0 7px;
	    margin-bottom: 10px;
	}
	.chokuhan-shop-txt {
	    margin-top: 20px;
	}
	.chokuhan-block-list {
	    display: block;
		padding: 35px 0 0;
	}
	.chokuhan-block-list .block {
	    width: 100%;
	    text-align: center;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		margin-bottom: 15px;
	}
	.chokuhan-block-list .block .thumb {
	    width: 40%;
		margin: 0;
		border-radius: 4px;
	}
	.chokuhan-block-list .block .thumb::after {
	    padding-top: 100%;
	}
	.chokuhan-block-list .block .shop-ttl {
	    margin: 0;
		padding-left: 8%;
	}
    .chokuhan-block-list .block .shop-ttl._riso,
    .chokuhan-block-list .block .shop-ttl._komegura,
	.chokuhan-block-list .block .shop-ttl._ichimo,
	.chokuhan-block-list .block .shop-ttl._myyume,
	.chokuhan-block-list .block .shop-ttl._bigtree {
	     width: 42%;
	}
	.sec-chokuhan-shop {
	    padding: 50px 0 20px;
	}
    .chokuhan-sns-link {
        justify-content: center;
        margin-top: 25px;
    }
    .chokuhan-sns-link li {
        width: 40px;
        margin: 0 5px;
    }
	.chokuhan-shop-list {
		display: block;
	}
	.chokuhan-shop-list .block {
	    width: 100%;
	    margin-bottom: 40px;
	}
	.chokuhan-shop-list .thumb::after {
	    padding-top: 75%;
	}
	.chokuhan-shop-list .ttl {
	    font-size: 1.8rem;
	    margin: 15px 0 5px;
	}
	.chokuhan-shop-list .txt {
	    font-size: 1.4rem;
	    margin-bottom: 10px;
	}
	.chokuhan-shop-list .inner {
	    padding-top: 10px;
	    font-size: 1.3rem;
	}
	.shop-sns-link {
	    margin-top: 20px;
	}
		
	/* RESERVE
	-------------------------------------------------- */
	.reserve-anchor-btn {
	    margin: 0 0 50px;
	}
	.reserve-anchor-btn a {
	    width: 100%;
	    padding: 18px 0;
		justify-content: center;
	}
	.reserve-anchor-btn a p {
	    padding: 10px 0 10px 40px;
	}
	.reserve-ttl-wrap .icon {
		display: none;
	}
	.btn-icon {
	    margin-top: 20px;
	}
	.btn-icon a {
	    width: 100%;
	    padding: 15px 0;
	}
	.btn-icon a .tashi img {
	    width: 180px;
	}
	.col2-contents-2 + .list-note {
	    margin-top: 10px;
	}
	.reserve-tel-area {
	    background: #fafafa;
	    padding: 50px 0;
	}
	.reserve-tel-box {
	    padding: 35px 25px 15px;
	    display: block;
	    margin: 0 auto;
	}
	.reserve-tel-box-ttl {
	    width: 100%;
	    font-size: 1.4rem;
		text-align: center;
		margin-bottom: 20px;
	}
	.reserve-tel-box-ttl .ttl {
	    font-size: 2.2rem;
	    font-weight: 500;
	    margin-bottom: 10px;
	}
	.reserve-tel-box-cont {
	    width: 100%;
	    border-left: none;
	    padding-left: 0;
	    padding-top: 5px;
	}
	.reserve-tel-box-cont .block {
	    display: block;
	    padding: 25px 0;
	}
	.reserve-tel-box-cont .block:first-child {
	    border-top: 1px solid #d9d9d9;
	    margin-bottom: 0;
	}
	.reserve-tel-box-cont .block-inner {
	    font-size: 1.6rem;
	    margin-right: 0;
		text-align: center;
	}
	.reserve-tel-box-cont .block-inner p {
		font-weight: 500;
	}
	.reserve-tel-box-cont .block-inner .tel a {
	    display: inline-block;
	    font-size: 3.0rem;
	    font-weight: 700;
	    background-size: 18px auto;
	    padding: 0 0 4px 26px;
	}
	.reserve-tel-box-cont .block-nama {
	    padding-top: 0;
	    font-size: 1.4rem;
		text-align: center;
	}
	.reserve-tel-box-cont .block-nama-logo {
	    margin: 0 auto 2px;
	}
	.reserve-tel-box-cont .block-nama ._kyowa {
	    width: 130px;
	}
	.reserve-tel-box-cont .block-nama ._tashi {
	    width: 140px;
	}
	
	/* bnr-reserve
	-------------------------------------------------- */
	.bnr-reserve {
	    position: relative;
		padding: 50px 6.6666% 0;
	}
	.bnr-reserve::before {
		display: none;
	}
	.bnr-reserve a {
	    width: 100%;
	    height: auto;
	    display: block;
	    position: relative;
	    border: 1px solid #d9d9d9;
	    background: #FFFFFF;
	    margin: 0 auto;
	}
	.bnr-reserve a .thumb {
	    width: 100%;
	    height: 180px;
	}
	.bnr-reserve a .block {
	    width: 100%;
	    padding: 20px 20px 25px;
	    font-size: 1.3rem;
	    line-height: 1.75;
	}
	.bnr-reserve a .block .ttl {
	    font-size: 2.0rem;
	    margin: 5px 0 10px;
        line-height: 1.5;
	}
	.bnr-reserve a .block .ttl span {
	    font-size: 2.0rem;
	}
	
    /* bnr-list
    -------------------------------------------------- */
    .bnr-list {
        position: relative;
		padding: 50px 6.6666% 0;
    }
    .bnr-list::before {
        display: none;
    }
    .bnr-list ul {
        display: block;
    }
    .bnr-list ul li {
        width: 100%;
        margin-bottom: 20px;
    }
    .bnr-list ul li .block {
        padding: 15px 20px 20px;
    }
    .bnr-list ul li .block .txt {
        font-size: 1.3rem;
    }
    .bnr-list ul li .block .ttl {
        font-size: 2.0rem;
        margin-bottom: 2px;
    }
    .bnr-list ul li .block .ttl span {
        font-size: 1.6rem;
    }
    
	/* serviceNav-btm
	-------------------------------------------------- */
	.serviceNav-btm {
        padding-top: 30px;
	    margin-bottom: 50px;
	}
	.serviceNav-btm-list {
		flex-wrap: wrap;
	    padding: 25px 0 10px;
	}
	.serviceNav-btm-list li {
	    width: 47.5%;
	    margin: 0 0 25px;
	}
	.serviceNav-btm-list li .ttl {
	    font-size: 1.4rem;
	}
	
	
	/*/////////////////////////////////////////////////////////////////////////////


              // QUALITY //
	  

	/////////////////////////////////////////////////////////////////////////////*/
	
	/* MANAGEMENT
	-------------------------------------------------- */
	.quality-policy li {
	    display: flex;
	    justify-content: space-between;
	    align-items: flex-start;
	    margin-bottom: 20px;
	}
	.quality-policy li .numb {
	    width: 40px;
	    font-size: 1.2rem;
		 padding: 5px 0;
	}
	.quality-policy li .txt {
	    width: calc(100% - 40px);
	    font-size: 1.6rem;
	    padding: 5px 0 5px 20px;
	}
	.quality-policy-img {
	    width: 90%;
	    margin: 25px auto 0;
	}
	.check-list {
	    padding: 10px 20px 15px;
	}
	
	/* DEVELOPMENT
	-------------------------------------------------- */
	.quality-development .ttl {
	    font-size: 2.8rem;
	    letter-spacing: 0.08em;
	    margin-bottom: 15px;
		line-height: 1.75;
	}
	.quality-development .ttl span {
	    font-size: 1.5rem;
	}
	.quality-development-img {
	    width: 100%;
	}
	.development-flow {
	    display: block;
	    padding-bottom: 0;
	}
	.development-flow li {
	    width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
	    text-align: left;
	    padding: 20px;
		margin-bottom: 10px;
	}
	.development-flow li .numb {
		width: 40px;
	    background: none;
	    padding: 0;
	    margin-bottom: 0;
	}
	.development-flow li .numb::after,
	.development-flow li:last-child .numb::after {
	    content: "";
	    width: 1px;
	    height: 100%;
	    background: #828a95;
	    position: absolute;
	    left: inherit;
		right: 0;
	    bottom: 0;
	    transform: none;
	}
	.development-flow li .ttl {
		width: calc(100%  - 60px);
	    writing-mode: horizontal-tb;
	    display: block;
	}
	
	/* SPECIAL
	-------------------------------------------------- */
	.pdf-list li a {
	    display: block;
	    padding: 15px 0;
	}
	.pdf-list li a .pdf {
		display: block;
	    line-height: 25px;
		margin-bottom: 5px;
	}
	.pdf-list li a .txt {
	    width: 100%;
	    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="36" height="8" viewBox="0 0 36 8"><path fill-rule="evenodd" fill="none" stroke="rgb(26, 26, 26)" d="M28,0.3l6.8,7.2H0"/></svg>') no-repeat right center;
	    background-size: 25px auto;
	    padding-right: 45px;
	}
	
	/* TRACEABILITY
	-------------------------------------------------- */
	.quality-traceability-img {
	    margin: 0 auto;
	}
	.inspection-list {
		flex-wrap: wrap;
		margin-top: -5%;
	}
	.inspection-list li {
	    width: 47.5%;
	    padding: 15px;
		margin-top: 5%;
	}
	.inspection-list li .txt {
		font-size: 1.2rem;
	}

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


              // NEWS //
	  

	/////////////////////////////////////////////////////////////////////////////*/
	.news-col2 {
	    display: block;
	    padding-bottom: 60px;
	}
	.news-col2-main {
	    width: 100%;
	}
	.news-col2-main .news-list {
		margin-top: -20px;
	}
	.news-col2-side {
	    width: 100%;
	    padding: 60px 0 0;
	}
	.news-side-nav {
	    padding-bottom: 40px;
	    margin-bottom: 0;
	}
	.news-side-nav:last-child {
	    border-bottom: none;
		padding-bottom: 0;
	}
	.news-side-nav .ttl {
	    font-size: 1.3rem;
	}
	.news-side-nav .ttl span {
	    padding-right: 20px;
	}
	.news-side-nav-inner {
	    margin-top: 5px;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.news-side-nav li {
		width: 48%;
		border-bottom: 1px solid #d9d9d9;
	}
	.news-side-nav li a {
	    padding: 15px 5px;
	    margin: 0;
	    font-size: 1.3rem;
	}
	
	/* wp-pagenavi
	-------------------------------------------------- */
	.wp-pagenavi {
	    margin: 40px auto 0;
	}
	.wp-pagenavi a {
	    width: 40px;
	    height: 40px;
	    margin: 0 7px 7px 0;
	    line-height: 38px;
		font-size: 1.3rem;
	}
	.wp-pagenavi span.current,
	.wp-pagenavi span.extend {
	    width: 40px;
	    height: 40px;
	    margin: 0 7px 7px 0;
	    line-height: 38px;
		font-size: 1.3rem;
	}
	
	
	/*/////////////////////////////////////////////////////////////////////////////


              // NEWS DETAIL //
	  

	/////////////////////////////////////////////////////////////////////////////*/
	
    /* entry
    -------------------------------------------------- */
    .entry h2 {
        font-size: 2.2rem;
        margin: 1.5em 0 1em;
    }
    .entry h3 {
        font-size: 1.8rem;
        margin: 1.5em 0 0.6em;
        letter-spacing: 0;
    }
    .entry h4 {
        font-size: 1.5rem;
        padding-left: 15px;
        letter-spacing: 0;
    }
    
	/* detail-nav
	-------------------------------------------------- */
	.detail-nav {
	    padding: 40px 0 0;
	    margin-top: 55px;
	}
	.detail-nav ul {
	    height: 50px;
	}
	.detail-nav ul li a {
	    line-height: 48px;
	}
	.detail-nav ul li.btn-back a {
	    width: calc(86.6668vw - 140px);
		font-size: 1.3rem;
	}
	.detail-nav ul li.btn-prev a {
	    padding-left: 0;
	}
	.detail-nav ul li.btn-next a {
	    padding-right: 0;
	}
	.detail-nav ul li.btn-prev a::before,
	.detail-nav ul li.btn-next a::before {
	    width: 50px;
	    height: 50px;
	    background-size: 20px auto;
	}

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


              // RECRUIT //
	  

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

	/* recruit-wrap
	-------------------------------------------------- */
	.recruit-block-list {
	    display: block;
	    padding-bottom: 5px;
	}
	.recruit-block-list .block {
	    width: 100%;
	    margin-bottom: 35px;
	}
	.recruit-block-list .block-inner {
	    margin-top: 20px;
	}
	.recruit-block-list .block .ttl {
	    font-size: 1.8rem;
	    margin-bottom: 5px;
	}
	.recruit-block-tel {
	    padding: 25px 10px 20px;
	    margin-bottom: 40px;
	}
	.recruit-block-tel p a {
	    font-size: 2.8rem;
	    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="26" height="30" viewBox="0 0 26 30"><path fill-rule="evenodd" fill="rgb(26, 26, 26)" d="M1.6,1.7c-2,1.6-2,6-0.8,9.5c0.9,2.7,2.6,6.3,5.2,9.5c2.5,3.1,5.7,5.7,8.1,7.2c3.1,1.9,7.4,2.9,9.4,1.2 c1-0.8,2.4-2.9,2.4-3.3c0,0-1.1-1.4-1.3-1.7L21,19.7c-0.3-0.3-1.7,0.1-2.4,0.7c-0.9,0.7-1.7,2.3-1.7,2.3c-0.6,0.5-1.3,0.1-2.5-0.3 c-1.6-0.5-3.4-2.5-5-4.3c-1.4-1.9-2.9-4.2-3.1-5.8c-0.2-1.3-0.4-2,0.2-2.6c0,0,1.8-0.4,2.6-1.2c0.6-0.6,1.4-1.9,1.1-2.2L6.6,1.7 C6.4,1.4,5.3,0,5.3,0C4.9,0,2.6,0.9,1.6,1.7z"/></svg>') no-repeat center left;
	    background-size: 20px auto;
	    padding: 0 0 5px 30px;
	}
    
    
	/*/////////////////////////////////////////////////////////////////////////////


              // Contact //
	  

	/////////////////////////////////////////////////////////////////////////////*/
	
	/* contact-form
	-------------------------------------------------- */
	.contact-form {
	    padding-bottom: 50px;
	}
	
    /* contact-faq-block
    -------------------------------------------------- */
    .contact-faq-block {
        margin: 0 0 20px;
    }
    .contact-faq-block dl {
        padding: 15px 0;
    }
    .contact-faq-block dl dt {
        margin-bottom: 5px;
    }
    .contact-faq-block dl dt .en,
    .contact-faq-block dl dd .en {
        width: 35px;
        font-size: 1.8rem;
    }
    .contact-faq-block dl dt .en + p,
    .contact-faq-block dl dd .en + p {
        width: calc(100% - 35px);
    }
    .contact-faq-block dl dt .en + p {
        font-size: 1.5rem;
        font-weight: 500;
    }
    .contact-faq-block dl dd .en + p {
        font-size: 1.3rem;
    }
    
	/* contact-tel-block
	-------------------------------------------------- */
	.contact-tel-block {
	    margin: 0 0 45px;
	}
	.contact-tel-block a {
	    padding: 30px 10px 35px;
	}
	.contact-tel-block .ttl {
	    font-size: 2.2rem;
	    padding-bottom: 10px;
	    margin-bottom: 10px;
	}
	.contact-tel-block .ttl::after {
	    width: 40px;
	}
	.contact-tel-block .tel {
	    margin-bottom: 10px;
	    background-size: 40px auto;
	    padding: 0 0 0 50px;
	}
	.contact-tel-block .tel span {
	    font-size: 2.8rem;
	}
	.contact-tel-block .note {
	    font-size: 1.3rem;
		line-height: 1.7;
	}
	
	/* contact-block
	-------------------------------------------------- */
	.contact-block {
	    margin: 40px 0 0;
	}
	.contact-block .block-ttl {
		font-size: 2.2rem;
		padding-bottom: 25px;
	}
	.contact-block-none {
	    padding: 20px 0;
		margin-bottom: 30px;
	}
	.contact-block-none .list-note li {
	    font-size: 1.2rem;
	}
	.contact-block-txt {
	    margin-bottom: 20px;
	}
	.contact-block dl {
	    padding: 10px 0 15px;
	}
	.contact-block dl dt {
	    width: 100%;
	    float: none;
	    padding: 15px 0 10px;
	}
	.contact-block dl dt .note {
	    font-size: 1.2rem;
	    margin: 10px 0 0;
	}
	.contact-block dl dd {
	    margin: 0;
	}
	.contact-block dl dd .subttl {
	    font-size: 1.3rem;
	    margin-top: 5px;
	}
	.contact-block dl dd.txt-inr {
	    border-bottom: 1px solid #d9d9d9;
	    padding-bottom: 15px;
	    margin-bottom: 10px;
	}
	.contact-block dl .note {
	    font-size: 1.1rem !important;
	}
	
	/* input
	-------------------------------------------------- */
	input[type="text"],
	input[type="password"],
	input[type="email"] {
	    padding: 20px 10px;
	    font-size: 1.4rem;
	}
	input[type="text"].w240 {
	    width: 60%;
	}
	select {
	    width: 100%;
	    padding: 0 10px;
	    font-size: 1.4rem;
	}
	textarea {
	    height: 180px;
	    padding: 20px 15px;
	    font-size: 1.4rem;
	}
	
	/* radio, checkbox
	-------------------------------------------------- */
	.radio_text,
	.checkbox_text {
	    font-size: 1.4rem;
	}
	.wpcf7-checkbox::after {
	    width: 100%;
	}
	.radio_text span.wpcf7-list-item,
	.checkbox_text span.wpcf7-list-item {
	    width: 100%;
	}
	.radio_text .wpcf7-list-item-label,
	.checkbox_text .wpcf7-list-item-label {
	    display: inline-block;
	    width: auto;
	}
	
	/* form-btn
	-------------------------------------------------- */
	.form-btn {
	    padding-top: 30px;
	}
	.form-btn .privacy-txt {
	    margin-bottom: 25px;
	}
	.form-btn ul {
	    display: block;
	}
	.form-btn ul li {
		width: 100%;
	    margin: 10px 0;
	}
	input[type="submit"],
	input[type="reset"],
	input[type="button"] {
	    width: 100%;
	    height: 60px;
	    font-size: 1.5rem;
	}
	
	/* form-btm-txt
	-------------------------------------------------- */
	.form-btm-txt {
	    display: block;
	    font-size: 1.2rem;
	    margin-top: 20px;
	}
	
	/* complete-display
	-------------------------------------------------- */
	.complete-display {
	    padding: 30px 0;
	}
	.complete_ttl {
	    font-size: 2.0rem;
	}
	.complete-display .btn {
	    margin-top: 30px;
	}
	
	
	/*/////////////////////////////////////////////////////////////////////////////


              // SUMMIT //
	  

	/////////////////////////////////////////////////////////////////////////////*/
	
	/* sec-summit-intro
	-------------------------------------------------- */
	.sec-summit-intro {
	    padding: 50px 0 10px;
	    background: #fafafa;
	}
	.sec-summit-intro::before {
	    display: none;
	}
	.summit-cont {
	    padding: 0 0 40px;
	}
	.summit-cont-ttl {
	    font-size: 2.0rem;
	    line-height: 2;
	    margin-bottom: 20px;
	}
	.summit-col2 {
	    display: block;
	}
	.summit-intro-block {
	    width: 100%;
	    padding-top: 25px;
		margin-bottom: 30px;
	}
	.summit-intro-block .ttl {
	    font-size: 1.7rem;
	    margin-bottom: 10px;
		font-weight: 500;
	}
	.summit-intro-img {
	    width: 100%;
	}
	.summit-intro-img p {
	    margin-bottom: 15px;
	}
	
	/* sec-summit-history
	-------------------------------------------------- */
	.sec-summit-history {
	    padding: 50px 0 50px;
	}
	.summit-history {
	    display: block;
	}
	.summit-history-block {
	    width: 100%;
	    min-width: inherit;
	    position: static;
		margin-bottom: 40px;
	}
	.summit-history-block .block-ttl {
	    font-size: 2.2rem;
	}
	.summit-history-list {
	    font-size: 1.4rem;
	}
	.summit-history-img {
	    width: 100%;
	}
	
	
	/*/////////////////////////////////////////////////////////////////////////////


              // Privacy Policy //
	  

	/////////////////////////////////////////////////////////////////////////////*/
	.privacy-contact-ttl {
	    font-size: 1.5rem;
	    margin-bottom: 5px;
	}
	.privacy-contact-subttl {
	    margin: 15px 0 0;
	    padding-bottom: 5px;
	}
	
}