@charset "UTF-8";

body {
	overflow: hidden;
	font-family:"Noto Sans Japanese","Noto Sans","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo",Osaka,verdana,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	color: #1F1F1F;
}
html {
	overflow-y: scroll;
}

#logo{
	width: 1100px;
	text-align: left;
	margin: 10px auto;
	overflow: hidden;
}

#titleback {
    background: url('../img/case_bg.png') no-repeat center;
    background-size: auto;
    background-size: cover;
    color: #333;
}
#titleback h2{
	padding: 80px 0;
	color: #fff;
}
.lead {
    text-align: center;
    line-height: 1.7;
    letter-spacing: 0.05em;
    font-size: 17px;
	padding: 20px 0 20px;
	background: #fff;
}

#new{
	width: 960px;
	height: 220px;
	background: #1D1D1D;
	overflow: hidden;
	margin-bottom: 30px;
}
#new:hover{
	opacity: 0.7;
}
.new_left{
	float: left;
	width: 480px;
}
.new_right{
	float: right;
	color: #fff;
	width: 440px;
	padding: 20px 20px;
}
.new_title{
	color: #E00003;
	font-style:italic;
}
.new_text{
	font-weight: bold;
	font-size: 150%;
	margin-bottom: 15px;
	line-height: 1.5;
}
.new_company{
	font-weight: bold;
	font-size: 120%;
}
.case_main_btn{
	font-weight: bold;
	font-size: 120%;
	text-align: right;
}
a .case_main_btn{
	color: #fff;
	position: relative;
	margin-top: 20px;
}
#side{
	width: 330px;
	float: right;
	background: #fff;
	margin: 20px 0 0 0; 
}
#contents{
	max-width: 1000px;
	margin:1% auto;
	line-height:180%;
	float: center;
	font-size: 16px;
}

#contents2{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap:20px;
	margin-bottom: 20px;
}
.case_cate{
	float: left;
	border: 1px solid #F0F0F0;
	background: #fff;
}
.case_cate:hover{
	border: 1px solid #1f64a5;
}

.case_cate .case_img{
	overflow: hidden;
	width: 100%;
	height: 200px;
}
.case_cate img{
	width: 100%;
	display: block;
	transition-duration: 0.5s;	/*変化に掛かる時間*/
}
.case_cate img:hover{
	transform: scale(1.0);
	transition-duration: 0.3s;
}
.case{
 	position: relative;
	top: -20px;
	left: 10px;
	color: #fff !important;
	background: #c71816;
	width: 75px;
	height: 24px;
	font-size: 20px;
	font-weight: bold;
	padding: 5px 8px !important;
	font-style: italic;
}
.top_title{
	font-weight: bold;
	font-size: 120%;
	border-bottom: 1px solid #EDEDED;
	padding-bottom: 10px;
	margin-bottom: 10px !important;
}
.case_cate_in{
	padding: 15px;
}
h2{
	color: #fff;
	text-align: center;
	font-size: 280%;
    text-shadow: 2px 2px 1px #222,
    -2px 2px 1px #222,
    2px -2px 1px #222,
    -2px -2px 1px #222;
	padding: 77px;
}
#Inner{
	margin: 0 auto;
    color: #292929;
	width: 960px;
}
#Inner2{
	margin: 0 auto;
    color: #333;
	width: 1100px;
}
#case{
	color: #ca2d1d;
	font-size: 170%;
	font-style: italic;
	text-align: center;
	margin: 40px 0 15px;
}
hr{
	height: 1px;
	border: none;
	border-top: 1px #353535 solid;
	width: 40px;
	margin: 0 auto 20px;
}
.title{
	font-size: 25px;
	line-height: 150%;
	text-align: center;
	margin: 0 auto 10px;
	padding: 10px 0 0;
	font-weight: bold;
}
h3{
	font-size: 30px;
	line-height: 150%;
	text-align: center;
	margin: 10px auto 10px;
	padding: 30px 0 20px;
	font-weight: bold;
    background: url('../img/title_bg.png') no-repeat top left;
}
.parenthesis {
  position: relative;
  padding: 15px 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
	line-height: 160%;
	font-size: 15px;
	background: #fff;
	border-top: 1px solid #D5D5D5;
	border-bottom: 1px solid #D5D5D5;
}
@media screen and (min-width: 768px){
	.parenthesis .img img.w30_pc{
		width: 30%;
	}
}
#parenthesis_name{
	color: #1f64a5;
	font-weight: bold;
	margin-bottom: 10px;
	font-size: 120%;
	line-height: 1.7;
}
.sub_title{
	border-left: 6px solid #1f64a5;
	font-size: 23px;
	padding: 0 0 0 12px;
	margin: 30px 0 10px;
	font-weight: bold;
}
.cate span{
	background-color: #FBFDA4;
}
.cate .name{
	color: #1f64a5;
}
p.comment{
	font-size: 90%;
	color: #6C6C6C;
	line-height: 130%;
	/* margin: 8px 0 0 0; */
	margin: 8px auto 0;
	width: fit-content;
}
#dl{
	width: 90%;
	background: #F5F5F5;
	margin: 30px auto;
	padding: 10px;
	font-size: 90%;
	line-height: 150%;
}
.marker{
	background: #fffea2;
	color: #333 !important;
	padding: 1px;
	font-weight: normal !important;
}
#caes_btn{
	width: 600px;
	margin: 30px auto 30px;
	height: 30px;
}
#btn_ichran{
	color: #1f64a5;
	border: 1px solid #1f64a5;
	width: 190px;
	text-align: center;
	padding: 5px 0;
	float: left;
	border-radius: 5px 5px 5px 5px;
	margin: 0 10px;
}
#btn_previous,#btn_next{
	color: #1f64a5;
	border: 1px solid #1f64a5;
	width: 190px;
	text-align: center;
	padding: 5px 0;
	float: left;
	border-radius: 5px 5px 5px 5px;
}

#btn_previous:hover,#btn_ichran:hover,#btn_next:hover{
	color: #FFFFFF;
	background: #1f64a5;
}
#menu_footer{
	width: 100%;
	color: #fff;
	background: #717171;
	overflow: hidden;
}
#menu_footer ul{
	float: left;
	width: 25%;
}
#menu_footer li a{
	color: #fff;
	text-decoration: none;
}
#menu_footer li a:hover{
	text-decoration: underline;
}
#menu_footer_in{
	width: 960px;
	margin: 20px auto;
	overflow: hidden;
}

div.reason {
    margin: 5% auto;
    width: 100%;
    border: 1px solid #ccc;
    overflow: hidden;
    display: table;
}

.reason_ttl {
    background: #555555;
    color: #fff;
    text-align: center;
    display: table-cell;
    vertical-align: middle;
    width: 20%;
    font-size: 120%;
    font-weight: 400;
}
div.reason_content ul {
	padding: 10px 0;
}
div.reason_content ul li {
    line-height: 200%;
    list-style: none;
	padding: 0 10px;
}

.question{
	font-weight: bold;
	margin: 30px 0 0;
	color: #5F5F5F;
}
.text{
	margin: 20px 0;
}
.img{
	margin: 3% 0 1%;
}
.other{
	margin: 20px 0 0 0;
}
.other p{
	margin: 5px 0 0 0;
	font-weight: bold;
}
.side_title{
	background: #1f64a5;
	color: #fff;
	font-weight: bold;
	padding: 5px 0 5px 10px;
	font-size: 110%;
}
#side a{
	text-decoration: none;
}
#side a:hover{
	opacity: 0.7;
}

.footer_product_purchace {
    margin: 30px auto;
    padding: 20px;
    border: 1px solid #bbb;
    border-top-color: rgb(187, 187, 187);
    border-top-color: #011287;
    overflow: hidden;
    background: #f3f4f6;
}
.footer_product_purchace .purchace_content {
    overflow: hidden;
}

.footer_product_purchace .thumbnail {
    width: 25%;
    display: block;
    float: left;
    margin-right: 30px;
    padding: 10px;
    background: #fff;
}
.post .text_area {
    overflow: hidden;
}
.footer_product_purchace .name {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 15px;
}

.footer_product_purchace .description ul li {
    list-style-type: disc;
    margin-left: 1.25em;
}
.footer_product_purchace .link {
    margin-top: 15px;
}
.footer_product_purchace .link ul {
    overflow: hidden;
}

.footer_product_purchace .link li {
    width: 45%;
    float: left;
    margin-right: 15px;
	border: 1px solid #555;
}
@media screen and (max-width: 767px){
	.footer_product_purchace .purchace_content{
		overflow: unset;
	}
	.footer_product_purchace .link ul{
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
		gap: 16px;
		overflow: unset;
		box-sizing: border-box;
	}
	.footer_product_purchace .link li {
		width: 100%;
		float: unset;
		margin: 0;
	}
}
a.btn.btn02 {
    color: #333 !important;
    background: #fff;
}
a.btn.btn02:hover{
    color: #fff !important;
    background: #333;
}
.footer_product_purchace .link li a {
    display: block;
    padding: 10px 30px;
}
.description_title{
	font-weight: bold;
	color: #1f64a5;
	font-size: 110%;
}
.interview a:hover{
	opacity: 0.7;
}
.interview_archive_list_small{
	margin-bottom: 20px;
}
.interview_archive_list_small .interview {
    margin-top: -1px;
    position: relative;
}
.interview_archive_list_small .interview > a {
    color: #111;
    text-decoration: none;
    display: block;
    border: 1px solid #ccc;
    overflow: hidden;
    padding: 15px 40px 15px 15px;
    position: relative;
    z-index: 1;
}

.interview_archive_list_small .interview > a .catch {
    color: #866c43 !important;
    font-weight: 700;
    line-height: 1.5;
}
.interview_archive_list_small .interview > a {
    color: #111;
    text-decoration: none;
    display: block;
    border: 1px solid #ccc;
    overflow: hidden;
    padding: 15px 40px 15px 15px;
    position: relative;
    z-index: 1;
}
.interview_archive_list_small .interview > a:after {
    font-size: 24px;
    font-family: FontAwesome;
    font-weight: normal !important;
    content: "\f105";
    color: #ccc;
    position: absolute;
    right: 15px;
    top: 50%;
    margin-top: -12px;
}

@media (max-width: 767px){
	#Outline,#MainArea960_row1,#Inner{
		float: none;
		width: 100%;
	}
	#Inner2{
		width: auto;
	}
	#logo,#nav_sp_main,.nav_sp{
		width: 100%;
	}
	#menu,.parenthesis,.cate,#caes_btn,#contents,#new{
		width: 98%;
		margin: 0 auto 20px;
	}
	#new,.new_left,.new_right{
		width: auto;
		height: auto;
	}
	#contents{
		float: none;
	}
	.cate{
		margin: 0 auto;
	}
	#btn_previous,#btn_ichran,#btn_next{
		width: 29%;
	}
	.nav{
		display: none;
	}
	#contents2{
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap:10px;
	}
	.case_cate{
		margin: 0 1% 30px;
		font-size: 120%;
		line-height: 150%;
	}
	#menu_footer ul{
		width: 49%;
		font-size: 110%;
	}
	#menu_footer ul li{
		padding: 3px 0;
	}
	#menu_footer_in{
		width: auto;
	}
	.case_cate .case_img{
		width: auto;
	}
}
@media (min-width: 768px){
	#nav_sp_main{
		display: none;
	}

}
@media only screen and (min-width: 1025px){
	#Inner{
		width: 960px;
	}
	#Inner2{
		width: 1100px;
	}
}
@media only screen and (max-width: 1024px){
	#menu_footer_in{
		width: 100%;
	}
	#menu{
		width: auto;
	}
	.nav{
		margin: 0 auto 10px;
	}
	#side{
		display: none;
	}
}




.cate_case {
	position: relative;
	padding: 0px 0px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	line-height: 160%;
	font-size: 15px;
	background: #fff;
	border-top: 1px solid #D5D5D5;
	border-bottom: 1px solid #D5D5D5;
}

#case_study{
	margin: 20px auto 60px;
	border-top:1px solid #ccc;
}
#case_study_in {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 10px;
	row-gap: 30px;
	margin:0 0 40px 0;
	justify-content: center;
	align-items: center;
}
#case_study_in a{
	text-decoration:none !important;
}

.case_cate {
	display: grid;
	grid-template-columns: 1fr 1fr;
	
	box-shadow: 0 0 14px rgba(0,0,0,0.3);
	overflow:hidden;
	border:0px solid #fff;
	margin-bottom:30px;
}
.case_name{
	font-weight:bold;
}
.case_cate img {
	display: block;
	width: 100%;
	height: 250px;
	object-fit: cover;
}
.case_cate:hover {
	opacity:0.7;
}
.case_tite{
	font-size:1.2rem;
	text-decoration:none !important;
	margin:10px 0 10px 0;
}
.case_txt{
	margin:15px;
}

#case{
	margin-bottom:60px;
}

.case_table_btn {
  display: inline-block;
  color: #474747;
  background: #fff;
  border: 2px solid #474747;
  border-radius: 30px;
  text-align: center;
  width: 300px;
  margin: 15px auto;
  font-size: 18px;
  font-weight: bold;
  padding: 15px 0;
}
.case_table_btn:hover {
  color: #fff;
  background: #474747;
  border: 2px solid #474747;
}


.title_vol{
	width: 50px;
	background:#1D5E9B;
	color:#FFF;
	padding:3px 10px;
	margin-bottom:2%;
	margin-right:2%;
	font-weight:normal;
	border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
}

@media screen and (max-width: 767px) {
	.hide{
		display:none;
	}
	#case_study{
		width:300px;
		margin-bottom:2px;
	}
	#case_study_in {
		grid-template-columns: 1fr;
		margin-bottom:2px;
	}
	.case_cate{
		margin-bottom:2px;
	}
}



