@charset "utf-8";

/*　751px以上の対応
////////////////////////////////////////////////////*/
@media screen and (min-width:751px) {
	#case #wrap{
		width: 100%;
		min-width: 980px;
		margin: 0 auto;
		letter-spacing: 0.06em;
	}
	#case #wrap #contents{
		width: 980px;
		margin: 0 auto;
	}
	#case #wrap #contents p{
		line-height: 1.6;
	}
	#case .main-sec a:hover {
		text-decoration: underline !important;
	}
	.sp-only{
		display: none;
	}
	/* ファーストビューエリア */
	.underlayer--firstview__wrap{
		width: 100%;
		min-width: 980px;
		margin: 0 auto 40px;
		background: #F9F1F1;
		padding: 32px 0;
	}
	.underlayer--firstview__inr{
		width: 980px;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
	}
	.underlayer--firstview__left{
	}
	.underlayer--firstview__ttl h1{
		font-size: 38px;
		color: #EA0029;
		letter-spacing: 0.03em;
		margin-bottom: 18px;
	}
	.underlayer--firstview__ttl h1 span{
		font-size: 16px;
		letter-spacing: 0.06em;
		display: block;
		margin-bottom: 8px;
	}
	.underlayer--firstview__lead{
		font-size: 14px;
		line-height: 1.86;
		letter-spacing: 0.05em;
		font-weight: 500;
	}
	.underlayer--firstview__image{
		margin-bottom: 12px;
		position: relative;
	}
	.underlayer--firstview__image::before{
		content: "資料配布中";
		font-size: 13px;
		letter-spacing: 0.04em;
		text-align: center;
		color: #fff;
		line-height: 78px;
		background: #EA0029;
		border-radius: 50px;
		width: 78px;
		height: 78px;
		position: absolute;
		top: -20px;
        right: -34px;
	}
	.underlayer--firstview__btn {
		text-align: center;
	}
	.underlayer--firstview__btn p{
		margin-bottom: 10px;
        font-weight: 500;
        letter-spacing: 0;
	}
	.underlayer--firstview__btn a{
		display: inline-block;
		letter-spacing: 0;
		color: #fff;
		font-weight: 700;
		background: #185ABC;
		border-radius: 4px;
		padding: 16px 40px;
		position: relative;
		transition: 0.3s;
	}
	.underlayer--firstview__btn a:hover{
		background-image: linear-gradient(to right, #185ABC, #0c3169);
	}
	.underlayer--firstview__btn a::before{
		content: "";
		background: url("../../case-studies/img/fv-document-dl-icon.svg");
		width: 18px;
		height: 18px;
		position: absolute;
		top: 14px;
        right: 12px;
	}


	/** ページタイトルの対応 **/
	#case .page_info{
		margin-top: 80px;
		margin-bottom: 70px;
	}
	#case .page_ttl p{
		margin-bottom: 15px;
		text-align: center;
		line-height: 1.0;
	}
	#case .page_info h1{
		font-size: 16px;
		font-size: 1.6rem;
		text-align: center;
		margin-bottom: 50px;
	}
	#case .page_info .page_lead{
		font-size: 15px;
		font-size: 1.5rem;
		text-align: center;
		line-height: 2;
	}
	#case .main-sec{
		float: left;
		width: 640px;
	}
	.main-sec .article-block {
		margin-bottom: 60px;
	}
	.main-sec .mainvisual {
		width: 100%;
	}
	.main-sec .mainvisual img{
		width: 100%;
		height: auto;
	}
	.main-sec h2 {
		font-size: 26px;
		font-size: 2.6rem;
		font-weight: 400;
		margin-bottom: 30px;
		line-height: 1.6;
		letter-spacing: 0.12em;
	}
	.main-sec .index {
		box-sizing: border-box;
		border: 1px solid #eee;
		padding: 15px;
		margin-bottom: 30px;
		width: 100%;
	}
	.main-sec .index p {
		font-weight: 700;
	}
	.main-sec .index ul li {
		position: relative;
		padding-left: 1.2em;
	}
	.main-sec .index ul li:before {
		position: absolute;
		top: 0;
		left: 0;
		content: "・";
	}
	.main-sec .index ul li{
		line-height: 2.0;
	}
	.main-sec .index ul li a:hover{
		text-decoration: underline;
	}
	.main-sec .article-block h3 {
		font-size: 20px;
		font-size: 2.0rem;
		font-weight: 400;
		padding-bottom: 10px;
		margin-bottom: 20px;
		position: relative;
	}
	.main-sec .article-block h4 {
		font-size: 16px;
		font-size: 1.6rem;
		font-weight: 400;
		color: #343434;
		background: #efefef;
		margin-bottom: 10px;
		padding: 10px 20px;
		border-radius: 2px;
	}
	.main-sec .article-block h3::after {
		content: "";
		bottom: 0;
		left: 0;
		position: absolute;
		height: 4px;
		width: 100%;
		border-radius: 2px;
		background: #343434;
	}
	.main-sec .shop-info{
		box-sizing: border-box;
		border: 1px solid #eee;
		padding: 15px;
		margin-top: 30px;
	}
	.main-sec .shop-info.theme_index_measures{
		margin-top: -6px;
	}
	.main-sec .shop-info p{
		font-weight: 400;
		margin-bottom: 0;
	}
	.main-sec .shop-info ul li{
		line-height: 2.0;
	}
	.main-sec .shop-info ul li dl{
		display: flex;
		flex-wrap: wrap;
	}
	.main-sec .shop-info ul li dl dt{
		position: relative;
		width: 6.25em;
	}
	.main-sec .shop-info ul li dl dt:before{
		position: absolute;
		top: 0;
		right: 0;
		content: "：";
	}
	.main-sec .shop-info ul li dl dd{
		width: 37em;
	}
	.main-sec .shop-info ul li dl dd + dd{
		margin-left: 6.25em;
	}
	.main-sec .shop-info ul li a{
		font-weight: 400;
	}
	.main-sec .shop-info ul li a:hover{
		text-decoration: underline;
	}
	.main-sec .case_shop_list{
		margin-bottom: 60px;
	}
	.main-sec .theme_measures{
		margin-top: 20px;
	}
	.main-sec .theme_measures ul li{
		font-weight: bold;
		color: #EA0029;
		position: relative;
		padding-left: 1.3em;
	}
	.main-sec .theme_measures ul li:before{
		content: "●";
		position: absolute;
		top: 0;
		left: 0;
	}
	.main-sec .theme_measures dl{
		margin-bottom: 10px;
	}
	.main-sec .theme_measures dl dt{
		font-weight: bold;
		color: #EA0029;
		position: relative;
		padding-left: 1.3em;
	}
	.main-sec .theme_measures dl dt:before{
		content: "●";
		position: absolute;
		top: 0;
		left: 0;
	}
	.main-sec .theme_measures dl dd{
		line-height: 1.6;
		position: relative;
		padding-left: 1.3em;
	}
	.main-sec .theme_measures dl dd span{
		color: #EA0029;
	}
	.main-sec .theme_measures dl dd:before{
		content: "└";
		position: absolute;
		top: 0;
		left: 0;
	}
	.main-sec .article-block .article-thanks {
		font-size: 20px;
		font-size: 2.0rem;
		font-weight: 400;
		margin-top: 30px;
	}
	#contents .side-sec .link-wrap p{
		line-height: 1.0;
	}
	.monthly_shops {
		position: relative;
		padding-top: 80px;
		margin-bottom: 80px;
	}
	.monthly_shops:before {
		position: absolute;
		top: 0;
		left: 0;
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 160px 190px 0 0;
		border-color: #fafafa transparent transparent transparent;
		z-index: -1;
	}
	.month_list h2{
		font-size: 16px;
		font-size: 1.6rem;
		margin-bottom: 30px;
		font-weight: bold;
		padding-left: 50px;
	}
	.month_list h3{
		font-size: 14px;
		font-size: 1.4rem;
		font-weight: bold;
		margin-right: 20px;
	}
	.month_list .month_list-year{
		padding-left: 50px;
		display: flex;
		align-items: center;
	}
	.month_list .month_list-year.year_2021{
		margin-bottom: 20px;
	}
	.month_list ul li{ 
		display: inline-block;
		margin-right: 10px;
	}
	.month_list ul li a {
		font-size: 13px;
		font-size: 1.3rem;
		font-weight: bold;
		text-align: center;
		box-sizing: border-box;
		border: 1px solid #e0e0e0;
		box-shadow: 0px 0px 5px 0px rgb(0 0 0 / 10%);
		position: relative;
		display: inline-block;
		transition: all .5s;
		width: 60px;
		height: 40px;
		border-radius: 40px;
		line-height: 40px;
	}
	.month_list ul li a:hover {
		box-shadow: 0px 0px 5px 0px rgb(0 0 0 / 0%);
		border: 1px solid #eee;
		background: #fafafa;
	}

	.ttl_list dt{
		font-weight: bold;
	}

	.document-dl-bnr.absb{
		width: 750px;
	}
	.document-dl-bnr.absb a{
		display: block;
		width: 640px;
		margin: 40px auto 0;
	}
	.document-dl-bnr.absb a img{
		vertical-align: top;
	}


	.main-sec .monthly__case-ttl{
		margin-bottom: 16px;
	}
	.categories-list{
		margin-bottom: 24px;
		box-sizing: border-box;
        border: 1px solid #eee;
        padding: 16px;
	}
	.categories-list p{
		font-weight: 700;
		margin-bottom: 10px;
	}
	.categories-list ul {
		display: flex;
		flex-wrap: wrap;
		gap: 16px;
		row-gap: 10px;
	}
	.shop + .shop{
		margin-top: 32px;
	}
	.visual{
		width: 640px;
		height: 400px;
		border-radius: 3px 3px 0 0;
        overflow: hidden;
        box-sizing: border-box;
	}
	.visual img{
		width: 100%;
		height: auto;
	}
	.shop__information{
		box-sizing: border-box;
        border: 1px solid #eee;
        padding: 16px;
		border-radius: 0 0 3px 3px;
	}
	.shop__information-inr + .shop__information-inr{
		margin-top: 16px;
        padding-top: 9px;
		border-top: 1px solid #eee;
	}
	#case #wrap #contents .information__ttl{
		font-weight: 700;
		margin-bottom: 2px;
	}
	.main-sec .shop-info .detail{
		margin-bottom: 8px;
	}
	.detail .detail__base{
		margin-bottom: 8px;
	}
	.detail .detail__base ul li{
		line-height: 1.6;
	}
	.detail .detail__base ul li dl{
		display: flex;
		flex-wrap: wrap;
	}
	.detail .detail__base ul li dl dt{
		position: relative;
        width: 6.25em;
	}
	.detail .detail__base ul li dl dt::before{
		position: absolute;
        top: 0;
        right: 0;
        content: "：";
	}
	.detail .detail__base ul li dl dd{
		width: 37em;
	}
	.detail__links ul{
		display: flex;
		flex-wrap: wrap;
		gap: 12px;
	}
	.detail__links a{
		box-sizing: border-box;
		border: 1px solid #343434;
		padding: 6px 5px 7px 7px;
        border-radius: 2px;
		font-size: 12px;
		display: block;
	}
	.shop__reason{
		margin-top: 16px;
	}
	.reason__ttl {
		font-size: 14px;
		font-weight: 700;
		margin-bottom: 5px;
	}
	.reason__first{
		margin-bottom: 8px;
	}
	.shop__reason .reason__point{
		font-weight: 500;
        color: #EA0029;
        position: relative;
        padding-left: 1.1em;
		margin-bottom: 2px;
	}
	.shop__reason .reason__point::before{
		content: "●";
        position: absolute;
		top: 3px;
        left: 2px;
        font-size: 9px;
	}
	.shop__reason .reason__detail{
		line-height: 1.6;
	}

}





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

　750px以下の対応

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

@media screen and (max-width:750px) {
	.pc-only{
		display: none;
	}
	#header{
		padding-bottom: 5%;
	}

	#case #wrap{
		width: 100%;
		letter-spacing: 0.06em;
	}
	#case #wrap #contents{
		width: 90%;
		margin: 0 auto 10%;
	}
	#case #wrap #contents p{
		line-height: 1.6;
	}


	/* ファーストビューエリア */
	.underlayer--firstview__wrap{
		width: 100%;
		margin-bottom: 3.8%;
		background: #F9F1F1;
		padding: 10% 0;
	}
	.underlayer--firstview__inr{
		width: 90%;
		margin: 0 auto;
	}
	.underlayer--firstview__left{
		margin-bottom: 10%;
	}
	.underlayer--firstview__ttl h1{
		font-size: 28px;
		color: #EA0029;
		letter-spacing: 0.03em;
		margin-bottom: 3%;
		line-height: 1.3;
	}
	.underlayer--firstview__ttl h1 span{
		font-size: 16px;
		letter-spacing: 0.06em;
		display: block;
	}
	.underlayer--firstview__lead{
		font-size: 14px;
		line-height: 1.6;
		letter-spacing: 0.03em;
		font-weight: 400;
	}
	.underlayer--firstview__image{
		margin-bottom: 1.5%;
		position: relative;
		width: 88%;
		margin: 0 auto 3%;
	}
	.underlayer--firstview__image::before{
		content: "資料配布中";
		font-size: 12px;
		letter-spacing: 0;
		text-align: center;
		color: #fff;
		line-height: 70px;
		background: #EA0029;
		border-radius: 60px;
		width: 70px;
		height: 70px;
		position: absolute;
		top: -22%;
        right: -7%;
	}
	.underlayer--firstview__btn {
		text-align: center;
	}
	.underlayer--firstview__btn p{
		margin-bottom: 10px;
        font-weight: 400;
        letter-spacing: 0;
        font-size: 14px;
		line-height: 1.5;
	}
	.underlayer--firstview__btn a{
		display: inline-block;
		letter-spacing: 0;
		color: #fff;
		font-weight: 700;
		background: #185ABC;
        border-radius: 5px;
        padding: 6.5% 16%;
        position: relative;
        transition: 0.3s;
        font-size: 14px;
        line-height: 1;
	}
	.underlayer--firstview__btn a::before{
		content: "";
		background: url("../../case-studies/img/fv-document-dl-icon.svg");
		width: 26px;
        height: 26px;
        position: absolute;
        top: 27%;
        right: 5%;
        background-size: contain;
	}
	#case .page_info.monthcase {
        margin-top: 30px;
        margin-bottom: 30px;
    }
	#case .page_info.monthcase .page_ttl p {
        margin-bottom: 15px;
        text-align: center;
        line-height: 1.0;
        width: 66px;
        margin: 0 auto;
    }
	#case #wrap #contents .page_info.monthcase p.page_lead{
		line-height: 2;
	}
	#case .page_info h1 {
		font-size: 16px;
		font-size: 1.6rem;
		text-align: center;
		margin-bottom: 20px;
	}
	#case .page_info .page_lead {
		font-size: 14px;
		font-size: 1.4rem;
		text-align: center;
		line-height: 2;
	}
	#case .main-sec div{
		margin-bottom: 35px;
	}
	#case .main-sec .shop-info.theme_index_measures{
		margin-bottom: 7%;
	}
	.main-sec .index {
		box-sizing: border-box;
		border: 1px solid #eee;
		padding: 15px;
		margin-bottom: 4.5%;
	}
	#case .main-sec .index p {
		font-weight: 700;
		margin-bottom: 3%;
	}
	.main-sec .index ul li {
		position: relative;
		font-size: 14px;
		font-size: 1.4rem;
		padding-left: 1.2em;
		line-height: 1.6;
		margin-bottom: 2.5%;
	}
	.main-sec .index ul li:before {
		position: absolute;
		top: 0;
		left: 0;
		content: "・";
	}
	.main-sec .index ul li a {
		font-weight: 400;
	}
	.main-sec .article-block h3 {
		font-size: 18px;
		font-size: 1.8rem;
		font-weight: 400;
		padding-bottom: 3%;
		margin-bottom: 3%;
		position: relative;
		line-height: 1.5;
	}
	.main-sec .article-block h3::after {
		content: "";
		bottom: 0;
		left: 0;
		position: absolute;
		height: 2px;
		width: 100%;
		border-radius: 5px;
		background: #343434;
	}
	.main-sec .shop-info {
		box-sizing: border-box;
		border: 1px solid #eee;
		margin-bottom: 4.5%;
		margin-top: 4.5%;
	}
	#case .main-sec .shop-info p {
		font-weight: 700;
		padding: 4% 3%;
		margin-bottom: 0;
	}
	.main-sec .shop-info ul li{
		font-size: 14px;
		font-size: 1.4rem;
	}
	.main-sec .shop-info ul li dl dt {
		background: #eee;
		padding: 2% 3%;
	}
	.main-sec .shop-info ul li dl dd {
		word-break: break-all;
		padding: 1% 3%;
	}
	.main-sec .shop-info .links ul{
		display: flex;
		flex-wrap: wrap;
		gap: 12px;
	}
	.main-sec .shop-info .links a{
		box-sizing: border-box;
		border: 1px solid #343434;
		padding: 4px 8px;
        border-radius: 2px;
	}
	#case .main-sec div p{
		margin-bottom: 5%;
	}
	#case .main-sec div p img{
		width: 100%;
	}
	.main-sec h2 {
		font-size: 22px;
		font-size: 2.2rem;
		font-weight: 400;
		margin-bottom: 4.5%;
		line-height: 1.6;
	}
	.main-sec .article-block h4 {
		font-size: 14px;
		font-size: 1.4rem;
		font-weight: 400;
		color: #343434;
		background: #efefef;
		margin-bottom: 3%;
		padding: 5% 4%;
		border-radius: 5px;
		line-height: 1.5;
	}
	#case .main-sec .article-block .article-thanks {
		font-size: 20px;
		font-size: 2.0rem;
		font-weight: 400;
		margin-top: 4.5%;
	}
	.main-sec .shop-info ul li a{
		font-weight: 400;
	}
	.main-sec .case_shop_list{
		margin-bottom: 60px;
	}
	.main-sec .theme_measures{
		margin-top: 20px;
	}
	.main-sec .theme_measures dl{
		margin-bottom: 10px;
	}
	.main-sec .theme_measures dl dt{
		font-weight: bold;
		color: #EA0029;
		position: relative;
		padding-left: 1.3em;
		font-size: 14px;
		font-size: 1.4rem;
	}
	.main-sec .theme_measures dl dt:before{
		content: "●";
		position: absolute;
		top: 0;
		left: 0;
	}
	.main-sec .theme_measures dl dd{
		line-height: 1.5;
		position: relative;
		padding-left: 1.3em;
		font-size: 14px;
		font-size: 1.4rem;
	}
	.main-sec .theme_measures dl dd + dd{
		margin-top: 5px;
	}
	.main-sec .theme_measures dl dd span{
		color: #EA0029;
	}
	.main-sec .theme_measures dl dd:before{
		content: "└";
		position: absolute;
		top: 0;
		left: 0;
	}
	.monthly_shops {
		position: relative;
		padding-top: 8%;
		margin-bottom: 40px;
	}
	.monthly_shops:before {
		position: absolute;
		top: 0;
		left: -2.5%;
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 80px 100px 0 0;
		border-color: #fafafa transparent transparent transparent;
		z-index: -1;
	}
	.month_list h2{
		font-size: 16px;
		font-size: 1.6rem;
		margin-bottom: 20px;
		font-weight: bold;
		line-height: 1.6;
	}
	.month_list h3{
		font-size: 14px;
		font-size: 1.4rem;
		font-weight: bold;
		margin-bottom: 3%;
	}
	.month_list .month_list-year.year_2021{
		margin-bottom: 5%;
	}
	.month_list ul{
		display: flex;
		flex-wrap: wrap;
	}
	.month_list ul li{
		width: 15%;
	}
	.month_list ul li.month_list-space{
		margin-right: 2%;
	}
	.month_list ul li.month_list-first{
		margin-bottom: 2%;
	}
	.month_list ul li a {
		font-size: 13px;
		font-size: 1.3rem;
		font-weight: bold;
		text-align: center;
		box-sizing: border-box;
		border: 1px solid #e0e0e0;
		box-shadow: 0px 0px 5px 0px rgb(0 0 0 / 10%);
		position: relative;
		display: block;
		transition: all .5s;
		height: 50px;
		border-radius: 50px;
		line-height: 50px;
	}
	.ttl_list dt{
		font-weight: bold;
		font-size: 14px;
		margin-bottom: 2%;
	}
	.ttl_list dd{
		font-size: 14px;
	}
	.ttl_list + .ttl_list{
		margin-top: 5%;
	}
	.txt-indent li{
		text-indent: -1em;
		padding-left: 1em;
	}
	.txt-indent li + li{
		margin-top: 2%;
	}
	.spmb5{
		margin-bottom: 5%;
	}
	#section_case_studies01 table th, #section_case_studies01 table td {
		word-break: break-all;
	}
	
	.document-dl-bnr.absb a{
		display: block;
		width: 100%;
		margin: 30px auto 0;
	}
	.document-dl-bnr.absb a img{
		vertical-align: top;
	}




	#case .main-sec .categories-list{
		margin-bottom: 6%;
		box-sizing: border-box;
        border: 1px solid #eee;
        padding: 4%;
	}
	#case #wrap #contents .categories-list p{
		font-weight: 700;
		margin-bottom: 2%;
	}
	.categories-list ul {
		display: flex;
		flex-wrap: wrap;
		gap: 24px;
		row-gap: 3px;
	}
	.categories-list ul li a{
		font-size: 14px;
	}
	.shop + .shop{
		margin-top: 32px;
	}
	.visual{
		width: 100%;
		height: auto;
		border-radius: 3px 3px 0 0;
        overflow: hidden;
        box-sizing: border-box;
	}
	.visual img{
		width: 100%;
		height: auto;
		vertical-align: top;
	}
	#case .main-sec .shop__information{
		box-sizing: border-box;
        border: 1px solid #eee;
        padding: 4%;
		border-radius: 0 0 3px 3px;
		margin-bottom: 6%;
	}
	#case .main-sec .shop__information-inr{
		margin-bottom: 0;
	}
	.shop__information-inr + .shop__information-inr{
		margin-top: 5%;
        padding-top: 3%;
		border-top: 1px solid #eee;
	}
	#case #wrap #contents .information__ttl{
		font-weight: 700;
		margin-bottom: 1%;
	}
	#case .main-sec .detail{
		margin-bottom: 4%;
	}
	#case .main-sec .detail .detail__base{
		margin-bottom: 4%;
	}
	#case .main-sec .detail .detail__base ul li{
		line-height: 1.6;
	}
	#case .main-sec .detail .detail__base ul li + li{
		margin-top: 1%;
	}
	#case .main-sec .detail .detail__base ul li dl{
		display: flex;
		flex-wrap: wrap;
		font-size: 14px;
		line-height: 1.5;
	}
	#case .main-sec .detail .detail__base ul li dl dt{
		position: relative;
        width: 5.25em;
	}
	#case .main-sec .detail .detail__base ul li dl dt::before{
		position: absolute;
        top: 0;
        right: 0;
        content: "：";
	}
	#case .main-sec .detail .detail__base ul li dl dd{
		width: calc(100% - 5.5em);
	}
	#case .main-sec .detail__links{
		margin-bottom: 0;
	}
	#case .main-sec .detail__links ul{
		display: flex;
		flex-wrap: wrap;
		gap: 12px;
	}
	#case .main-sec .detail__links a{
		box-sizing: border-box;
		border: 1px solid #343434;
		padding: 2px 7px 3px 9px;
        border-radius: 2px;
		font-size: 14px;
		display: block;
	}
	#case .main-sec .shop__reason{
		margin-top: 4%;
		margin-bottom: 0;
	}
	#case #wrap #contents .main-sec .reason__ttl {
		font-size: 14px;
		font-weight: 700;
		line-height: 1.5;
		margin-bottom: 1%;
	}
	.reason__first{
		margin-bottom: 1%;
	}
	.shop__reason .reason__point{
		font-weight: 500;
        color: #EA0029;
        position: relative;
        padding-left: 1.1em;
		font-size: 14px;
	}
	.shop__reason .reason__point::before{
		content: "●";
        position: absolute;
		top: 6px;
        left: 2px;
        font-size: 9px;
	}
	.shop__reason .reason__detail{
		line-height: 1.6;
		font-size: 14px;
	}



}

