@charset "utf-8";

body #mainContent .sTitle {
	font-size:23px;
}
body #mainContent .ssTitle {
	font-size: 18px;
	line-height: 32px;
}
body #mainContent .user {
	color: #4e6a89;
}
.pc {
	display: inline-block;
}
.sp {
	display: none!important;
}
@media only screen and (max-width:767px) {
	.pc {
		display: none!important;
	}
	.sp {
		display: inline!important;
	}
}
span.cap {
  display: block;
  letter-spacing: 0.01em;
}
span.cap.cap--gray {
  color: #999999;
}
.capWrap {
  display: flex;
}
.capWrap .cap {
  text-align: right;
  width: 205px;
}

.clearfix{
	overflow: hidden;
}

#clmContent p{
	color: #333333;
}


.mb0{ margin-bottom: 0 !important;}
.mb05{ margin-bottom: 5px !important;}
.mb10{ margin-bottom: 10px !important;}
.mb20{ margin-bottom: 20px !important;}
.mb30{ margin-bottom: 30px !important;}
.mb40{ margin-bottom: 40px !important;}
.mb50{ margin-bottom: 50px !important;}
.mb60{ margin-bottom: 60px !important;}

.mt10{ margin-top: 10px !important;}
.mt20{ margin-top: 20px !important;}
.mt30{ margin-top: 30px !important;}
.mt40{ margin-top: 40px !important;}
.mt50{ margin-top: 50px !important;}
.mt60{ margin-top: 60px !important;}

.pt0{ padding-top: 0 !important;}
.pt10{ padding-top: 10px !important;}
.pt30{ padding-top: 20px !important;}
.pt30{ padding-top: 30px !important;}
.pt40{ padding-top: 40px !important;}
.pt50{ padding-top: 50px !important;}




/* num01 */
.num01 {
	margin-bottom: 30px;
}

.img_box{
	text-align: center;
	margin-top: 50px;
	overflow: hidden;
}

.fLeft{
	float: left;
}

.fRight{
	float: right;
}

.left04 {
	float: left;
	width: 25.37485582468281%;
}
.right04 {
	float: right;
	width: 70.93023256%;
}

/* num02 */
.block{
	position: relative;
	overflow: hidden;
	margin-bottom: 30px;
}
.block .left {
	float: left;
	width: 51.89595375722543%;
}
.block .right {
	float: right;
	width: 46.1361014994233%;
}

.blue_box{
	background-color: #dfdfdf;
	border: solid 4px #94a7aa;
	padding: 40px;
}

.blue_box ul{
	padding: 0;
	margin: 0;
}

.blue_box li{
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: 16px;
	margin-top: 10px;
	color: #383838;
}

.blue_box li span{
	color: #4e6a89;
}

.ttl-i{
	color: #4e6a89;
	font-size: 20px;
	font-style: italic;
	padding-top: 20px;
}

@media only screen and (max-width: 1150px) {
	.num02 .flex .ml20 {
		margin-left: 0;
	}
	.fLeft{
		float: none;
		text-align: center;
	}

	.fRight{
		float: none;
		text-align: center;
		margin-top: 20px;
	}

	.left04 {
		float: none;
		width: 100%;
		text-align: center;
	}
	.right04 {
		float: none;
		width: 100%;
		text-align: center;
		margin-top: 20px;
	}

	.block .left {
		float: none;
		width: 100%;
	}
	.block .right {
		float: none;
		width: 100%;
		text-align: center;
		margin-top: 20px;
	}
}

.flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
.fd-reverse {
	flex-direction: row-reverse;
}
@media only screen and (max-width:736px) {
	.fd-reverse {
		flex-direction: column;
	}
}
.jc-start {
	justify-content: flex-start;
}
.ai-start {
	align-items: flex-start;
}
.ai-center {
	align-items: center;
}
.clm--w258 {
	width: 258px;
}
.clm--w445 {
	width: 445px;
}
.clm--w410 {
	width: 410px;
}
.clm--w420 {
	width: 420px;
}
.clm--w560 {
	width: 560px;
}
.clm--w580 {
	width: 580px;
}
.clm--w600 {
	width: 600px;
}
@media only screen and (max-width:736px) {
	.clm--w258 {
		width: 100%;
	}
	.clm--w445 {
		width: 100%;
	}
	.clm--w410 {
		width: 100%;
	}
	.clm--w420 {
		width: 100%;
	}
	.clm--w580 {
		width: 100%;
	}
	.clm--w600 {
		width: 100%;
	}
}
.flex p[class*="clm--"],
.flex div[class*="clm--"] {
  position: relative;
}
@media only screen and (max-width:736px) {
  .flex.plan p[class*="clm--"],
  .flex.plan div[class*="clm--"] {
    margin: auto!important;
    text-align: center!important;
  }
  .flex.plan p[class*="clm--"] img,
  .flex.plan div[class*="clm--"] img {
    width: auto!important;
  }
}
.flex .interview__text {
	margin-top: 0;
} 
#clmContent .storyTitle {
	padding: 20px;
	font-size: 24px;
	line-height: 1.5em;
	color: #fff;
	margin-top: 60px;
}
#clmContent .storyTitle + .flex {
  padding-top: 35px;
  align-items: flex-start;
}
#clmContent .storyTitle + .flex .interview .interview__text:first-of-type {
  margin-top: 0;
}
#clmContent .storyTitle + .flex .interview .interview__text,
#clmContent .storyTitle + .flex .interview .interview__text + p {
  text-align: left;
}
.interview + .flex,
.interview + .flex + .flex {
	margin-top: 60px;
}
.interview__text {
	padding-left: 3em;
	margin: 20px 0 10px;
	position: relative;
	font-weight: bold;
}
.interview__text::before {
	content: '';
	position: absolute;
	left: 0;
  top: 50%;
  transform: translateY(-50%);
	height: 3px;
	width: 2em;
}
@media only screen and (max-width:736px) {
	.flex .interview__text {
		margin: 20px 0 10px;
	} 
	.interview + .flex,
	.interview + .flex + .flex {
		margin-top: 0;
	}
	.interview__text::before {
		top: .8em;
	}
}
.interview--blue .interview__text::before {
	background-color: #89b9c6;
}

@media only screen and (max-width:736px) {
	#clmContent .storyTitle {
		padding: 10px;
		font-size: calc(24px*0.8);
	}
}
.storyTitle--blue {background-color: #89b9c6;}
.bold {
	font-weight: bold;
}

.staffVoice__name {
	padding: 10px;
	background-color: #4c4948;
	color: #fff;
}
#clmContent .color-white {
	color: #fff;
}
.staffVoice__name .size--01 {
	font-size: 1.4em;
	margin-top: 10px;
}

@media only screen and (max-width:736px) {
	.w100-sp {
		width: 100%;
	}
	.paddingB--20--sp {
		padding-bottom: 20px;
	}
}

.checkPoint {
  border: 1px solid #aaa;
  padding: 20px;
  margin: 60px 0 120px;
	counter-reset: counter;
}
.checkPointLayout {
	display: flex;
	flex-wrap: wrap;
	
}
.checkPointLayout__col:nth-child(odd) {
	width: 505px;
}
.checkPointLayout__col:nth-child(even) {
	width: calc(100% - 505px);
}
.checkPointLayout__col:nth-child(3) {
	margin-top: -120px;
}
.checkPointLayout__col:nth-child(4) {
	margin-top: 60px;
}
.checkPoint__ttl {
  font-size: 20px;
  line-height: 1.2;
  padding-bottom: 20px;
  position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
	margin-top: -30px;
}
.checkPoint__ttl::before {
  content: '';
  background: url(../imgs/220527-topic-02/ico-check-point.png) no-repeat center center;
  background-size: contain;
  display: inline-block;
  width: 90px;
  height: 90px;
	padding-right: 25px;
}
.checkPoint__ttl::after {
  content: '';
  display: block;
  height: 3px;
  width: 100%;
  margin-top: 10px;
  background: #080808;
	position: absolute;
	bottom: 0;
}
.detail {
	margin-top: 25px;
  display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	padding-right: 30px;
}
.detail .detail__col:nth-child(even) {
  text-align: right;
}
.detail:nth-child(1) div:first-child{
	width: 300px;
}
.detail:nth-child(2) div:nth-child(2) {
	width: 190px;
}

.detail .detail__ttl {
  font-weight: 600;
  padding: 0 0 15px;
	width: 100%;
}
.detail .detail__ttl::before {
	counter-increment: counter;
	content: counter(counter);
	color: #fff;
	font-weight: bold;
	background-color: #231815;
	width: 20px;
	height: 20px;
	display: inline-block;
	text-align: center;
	border-radius: 50%;
	margin-right: 5px;
}
.detail .detail__txt {
  padding-bottom: 20px;
}

@media only screen and (max-width:736px) {
	.checkPoint {
		padding: 20px;
		margin: 30px 0 60px;
	}
	.checkPointLayout__col:nth-child(odd) {
		width:100%;
	}
	.checkPointLayout__col:nth-child(even) {
		width:100%;
	}
	.checkPointLayout__col:nth-child(2) {
		margin-top: 40px;
	}
	.checkPointLayout__col:nth-child(3) {
		margin-top: 20px;
	}
	.checkPointLayout__col:nth-child(4) {
		margin-top: 20px;
	}
	.checkPoint__ttl {
		font-size: 18px;
		margin-top: 40px;
		width: 100%;
		text-align: center;
	}
	.checkPoint__ttl::before {
		padding-right: 0;
		position: absolute;
		left: 50%;
		bottom: 80px;
		transform: translateX(-50%);
	}
	.detail {
		margin-top: 30px;
		padding-right: 0;
	}
	.detail:nth-child(1) div:first-child{
		width: 100%;
	}
	.detail:nth-child(2) div:nth-child(2) {
		width: 100%;
	}
	.detail .detail__col {
		text-align: center;
		width: 100%;
	}
	.detail .detail__ttl,
	.detail .detail__txt {
		text-align: left;
	}
}

.spaceDesign {
	counter-reset: checkCounter 0; 
	padding-bottom: 60px;
}
.spaceDesign__ttl {
  text-align: center;
  font-size: 36px;
  line-height: 0.66666667;
  padding-top: 20px;
  position: relative;
	color: #333333;
	font-family: 'ヒラギノ角ゴ ProN W6', sans-serif;
	font-weight: bold;
	letter-spacing: 0.01em;
}
.spaceDesign__ttl .small {
	display: block;
	font-family: 'ヒラギノ角ゴ ProN W3', sans-serif;
	font-weight: normal;
	font-size: 0.55555556em;
	line-height: 1.2;
	margin-bottom: 15px;
}
.spaceDesign__ttl::after {
  content: '';
  display: block;
  height: 3px;
  width: 100%;
  margin-top: 20px;
  background: #080808;
}
.spaceDesign__lead {
	margin: 30px 0 40px;
	line-height: 1.71428571;
}
.checkSect {
	margin-bottom: 55px;
}
.checkSect__ttl {
	background-color: #d3bb9e;
	padding: 20px;
	display: flex;
	font-size: 24px;
	line-height: 1.58333333;
	letter-spacing: 0.01em;
}
.checkSect__ttl .checkLabel {
	color: #fff;
	padding-right: 40px;
	font-weight: bold;
	font-size: 20px;
	line-height: 1.2;
	font-family: 'ヒラギノ角ゴ ProN W6', sans-serif;
}
.checkSect__ttl .checkLabel::after {
	counter-increment: checkCounter 1;  
	content: counter(checkCounter); 
	display: block;
	text-align: center;
	white-space: pre;
	font-size: 2em;
}
.checkSect__txt {
	margin-top: 25px;
	line-height: 1.71428571;
	text-align: left;
}
.checkLayout {
	display: flex;
	justify-content: space-between;
	padding-top: 20px;
}
.checkLayout__col {
	width: 420px;
	margin: auto;
	text-align: center;
}
.checkLayout__col .photo {
	border: none;
	position: relative;
}
.checkLayout__col .photo .cap {
	position: absolute;
	right: 5px;
	bottom: 5px;
	color: #fff!important;
}
.checkSect__media {
	
}
@media only screen and (max-width:736px) {
	.spaceDesign {
		padding-bottom: 40px;
	}
	.spaceDesign__ttl {
		font-size: 28px;
		line-height: 1.25;
	}
	.spaceDesign__ttl .small {
		margin-bottom: 0;
	}
	.spaceDesign__ttl::after {
		height: 2px;
	}
	.spaceDesign__lead {
		margin: 20px 0 30px;
	}
	.checkSect {
		margin-bottom: 40px;
	}
	.checkSect__ttl {
		padding: 15px;
		font-size: 18px;
	}
	.checkSect__ttl .checkLabel {
		padding-right: 20px;
		font-size: 16px;
	}
	.checkSect__txt {
		margin-top: 20px;
	}
	.checkLayout {
		flex-direction: column;
		padding-top: 20px;
	}
	.checkLayout__col {
		width: auto;
	}
	.checkLayout__col:not(:last-child) {
		margin-bottom: 20px;
	}
}