@charset "utf-8";

/* ------------ 共通 ------------ */
.section > .bg {
	padding: 30px 0 0;
	position: relative;
	padding-bottom: 80px;
}
.section > .bg:after {
	content: "";
	display: block;
	width: 100%;
	height: 96%;
	position: absolute;
	top: 0;
	z-index: -1;
}

.caption-area .caption-tag .tag-bg {
    background: #0071B4;
}

/* 動画エリア */
.caption-area {
	display: flex;
	justify-content: center;
}

.caption-txt-box {
	margin-top: -70px;
	position: relative;
}

.type-num {
	margin-left: 25px;
/*
	position: relative;
    left: 140px;
*/
}

.caption-tag {
	width: calc(100% - -260px);
/*	margin-top: 30px;*/
	position: absolute;
	left: -130px;
}

.caption-tag h3 {
	display: table-cell;
	background: #fff;
	color: #000;
	font-family: "小塚ゴシック Pr6N", メイリオ, Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
	font-size: 1.6rem;
	text-align: center;
	height: 33px;
	line-height: 1;
	padding: 0 15px;
	vertical-align: middle;
}


@media all and (-ms-high-contrast:none){
  .caption-tag h3 { vertical-align: bottom; } /* IE11 */
}

.before-job {
	border: solid 1px #0071B4;
	padding: 1.5em;
	display: inline-block;
}

.before-job p{
	color: #0071B4;
	margin: 0; 
    padding: 0;
	font-size: 2.5em;
}

.job-arrow {
    position: relative;
    left: 50px;
    margin: 5px 0px 5px 0px;
}

.after-job {
	background-color: #E56820;
	padding: 1.5em; 
	display: inline-block;
	margin-bottom: 20px;
}

.after-job p{
	color: #FFFFFF;
	margin: 0; 
    padding: 0;
	font-size: 2.5em;
	font-weight: bold;
}

.caption-tag h3 span{display:inline-block;}

.caption-tag .color01 {
	color: #f48a52;
}

.caption-tag .tag-bg {
	display: inline-block;
	color: #fff;
	font-family: "GothicMB101Pro DeBold-90ms-RKSJ-H", メイリオ, Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
	font-size: 3.5rem;
	font-weight: bold;
	height: 67px;
	line-height: 67px;
	margin-top: 16px;
	padding: 0 22px;
}

.youtube {
	display: block;
	cursor: pointer;
	margin: 0 auto;
	position: relative;
}

.youtube iframe {
	display: block;
	width: 543px;
	height: 288px;
}

/* 動画入ったらここ不要 */
.youtube img {
	display: block;
	width: 543px;
	height: 288px;
}

.story-kv img {
	display: block;
	left: -65px;
    position: relative;
}

/* プロフィール（左カラム） */
.info-area {
	display: flex;
	justify-content: space-between;
	padding-right: 39px;
}

.profile-box {
	width: 100%;
	position: relative;
}

.profile-bg {
	background: #fff;
	padding: 34px 37px 31px 100px;
}

.profile {
	display: flex;
	justify-content: space-between;
}

.profile .profile-img {

}

.profile .profile-detail {
	margin-left: 26px;
	flex:1;
}

.profile .profile-detail h3 {
	font-size: 2.1rem;
	font-weight: normal;
	letter-spacing: 3.78px;
}

.profile .profile-detail dl {
	color: #000;
	font-family: メイリオ, Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
	line-height: 26px;
	margin-top: 10px;
}

.profile .profile-detail .box01 dt {
	font-size: 1.7rem;
}

.profile .profile-detail .box01 .name {
	font-size: 2.2rem;
}

.profile .profile-detail .box02 {
	font-size: 1.5rem;
}

.profile .profile-detail .box02 dd {
	letter-spacing: -1px;
}

.profile-txt {
	color: #000;
	font-size: 1.8rem;
	line-height: 37px;
	margin-top: 27px;
}

.work-img-box {
	display: flex;
	margin-top: 62px;
	padding-left: 105px;
}

.work-img-box .work-img:nth-child(n + 2) {
	margin-left: 30px;
}


/* QA */

.job-gaiyou p{
	font-size: 1.8rem;
	padding: 0 115px 0 95px;
    line-height: 37px;
	margin-top: 20px;
	color: #0071B4;
	font-family: メイリオ, Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
}

.question {
	display: inline-block;
}

.question h2 {
	display: inline-flex;
	color: #E56820;
	font-family: "GothicMB101Pro DeBold-90ms-RKSJ-H", メイリオ, Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
	font-weight: bold;
	font-size: 2.8rem;
	line-height: 39px;
}

.question h2.line2 span:nth-child(2) { /* 2行の場合 */
	margin-top: -20px;
}

.question h2 span:first-child {
	display: block;
	font-family: 'Trebuchet MS','Avenir Next','Futura',sans-serif;
	font-weight: bold;
	font-size: 9rem;
	text-indent: 66px;
	margin-right: 40px;
}

.answer {
	margin-top: 24px;
	padding-bottom: 112px;
}

.answer-inner {
	display: flex;
	justify-content: space-between;
	padding: 0 115px 0 95px;
}

.answer-txt {
	color: #000;
	font-family: メイリオ, Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
	font-size: 1.8rem;
	line-height: 37px;
	width: 100%;
	max-width: 549px;
	padding-left: 24px;
	position: relative;
}

.answer-txt p{
position: relative;
  top: 0%;
  -webkit-transform: translateY(0%); /* Safari用 */
  transform: translateY(0%);
}

.answer-txt:before,
.answer-txt:after {
	content: "";
	position: absolute;
	top: 50%;
/*	margin-top: -105px;*/
	z-index: 2;
}

.answer-txt:before {
	border: 10px solid transparent;
	border-right: 20px solid #fff;
	left: -28px;
}

.answer-txt:after {
	left: -30px;
	border: 10px solid transparent;
	z-index: 1;
}

.answer-txt h3 {
	font-family: "CenturyGothic Bold", メイリオ, Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
	font-size: 6.7rem;
	font-weight: bold;
	line-height: 1;
}


/* ------------ 01 type ------------ */
#type01 {
	margin-top: 108px;	
}

#type01 .bg:after {
	background: url("../images/story/section_bg01.jpg") repeat left top;
}



/* スケジュール（左カラム） */
#type01 .profile .profile-detail h3 {
	color: #0071B4;
}

/* タイトル */

.process-h2 .balloon{
	display: inline-block;
	position: relative;
    left: 220px;
    top: -5px;
}

h2.process {
    font-size: 30px;
    color: #666666;
    text-align: center;
}

h2.process span {
	font-size: 20px;
	margin-left: 10px;
}

.process-h2 {
    margin-bottom: 70px;
}

/* QA */
.question {
	border-bottom: 2px solid #0071B4;
    line-height: 0.1em;
}

.question h2 span:first-child {
	color: #0071B4;
    opacity: 0.3;
}

.answer-txt h3 {
	color: #0071B4;
}

.answer-txt {
	border-left: 1px solid #0071B4;
}

.answer-txt:after {
	border-right: 20px solid #0071B4;
}


/* ------------ 02 type ------------ */

#type02 {
	margin-top: 108px;	
}

#type02 .bg:after {
	background: url("../images/story/section_bg01.jpg") repeat left top;
}

/* スケジュール（左カラム） */
#type02 .profile .profile-detail h3 {
	color: #0071B4;
}

/* ------------ 03 type ------------ */
#type03 {
	margin-top: 108px;	
}

#type03 .bg:after {
	background: url("../images/story/section_bg01.jpg") repeat left top;
}
/* スケジュール（左カラム） */
#type03 .profile .profile-detail h3 {
	color: #0071B4;
}

.sp{display:none !important;}
.pc { display: block !important; }






/* ------------ リンクボタン ------------ */
.link-box {
	margin: 90px 0 136px;
}

.link-box .link-btn {
	width: 519px;
}



/* ------------ レスポンシブ ------------ */
@media screen and (max-width: 768px) {

	/* ------------ 共通 ------------ */
	.section > .bg {
		padding: 17px 0 22px;
	
	}
	
	
/*
	.caption-area .caption-tag .tag-bg {
    background: none;
}
*/
	
	.pc{
    display:none !important;
}
	.sp { display: block !important; }

	
	.job-gaiyou p {
		padding: 0 18px;
		font-size: 1.35rem;
    line-height: 24px;
	}
	
	
	
.story-kv img {
    width: 60%;
    left: -40px;
    top: -250px;
}
	h2.process {
		font-size: 20px;}
	
	h2.process span{
		font-size: 15px;}
	
	.process-h2 .balloon {
    left: 250px;
    top: -5px;
    width: 100px;
}
	.process-h2 {
    margin-bottom: 20px; 
}

	.section > .bg:after {
		height: 100%;
	}

	/* 動画エリア */
	.caption-area {
		flex-direction: column-reverse;
		height: 250px;
		margin-top: 180px;
		
	}

	.caption-txt-box {
	margin-top: 0;
    margin-left: auto;
    padding: 0 10px 0;
    width: 60%;
	}

	.type-num {
		width: 100%;
		max-width: 180px;
		margin-left: 0;
		margin-bottom: 20px;
	}

	.caption-tag {
		width: 100%;
		margin: 0 0 0 0px;
		position: static;
	}
	
	

	.caption-tag h3 {
		font-size: 1rem;
		height: 17px;
		line-height: 17px;
		padding: 0 7px;
	}
	
	

	.caption-tag .tag-bg {
		font-size: 1.8rem;
		height: 34px;
		line-height: 34px;
		margin-top: 0px;
		padding: 10px;
		display: table;
	}

	.youtube {
		height: auto;
		margin-top: 14px;
		padding: 0 25px;
	}

	.youtube iframe {
		display: block;
		width: 100%;
		margin: 0 auto;
	}
	
	/* 動画入ったらここ不要 */
	.youtube img {
		display: block;
		height: auto;
		width: 100%;
		margin: 0 auto;
	}

	/* プロフィール（左カラム） */
	.info-area {
		margin-top: 19px;
	}

	.info-area {
		flex-direction: column;
		padding: 0 17px;
	}

	.profile-box {
		max-width: 100%;
	}

	.profile-bg {
		padding: 10px 8px;
	}

	.profile {
		justify-content: flex-start;
		align-items: center;
	}

	.profile .profile-img {
		width: 50%;
		margin-top: 0;
	}

	.profile .profile-detail {
		margin-left: 18px;
	}

	.profile .profile-detail h3 {
		font-size: 1.35rem;
		letter-spacing: 1.9px;
	}

	.profile .profile-detail dl {
		line-height: 13px;
		margin-top: 5px;
	}

	.profile .profile-detail .box01 dt {
		font-size: 1rem;
	}

	.profile .profile-detail .box01 .name {
		font-size: 1.2rem;
	}

	.profile .profile-detail .box02 {
		font-size: 1rem;
	}

	.profile-txt {
		font-size: 1.35rem;
		line-height: 24px;
		margin-top: 4px;
	}

	.work-img-box {
		margin-top: 34px;
		padding-left: 0;
	}
	
	.before-job {
    border: solid 1px #0071B4;
    padding: 1.5em;
    text-align: center;
    display: block;		
}
	
	.after-job {
	text-align: center;
		display: block;}
		
	.job-arrow {
    position: relative;
	left: 45%;}
	
	.jobwaku {
    font-size: 0.4rem;
}

	/* プロフィール（右カラム） */
	.schedule-box {
		max-width: 100%;
		margin: 33px 0 0;
	}

	.schedule-box:after {
		max-width: 96%;
	}

	.schedule-bg {
		max-width: 96%;
		padding-right: 8px;
	}

	.schedule-h2 .balloon {
		width: 53px;
		margin-top: -15px;
	}

	.schedule-h2 h2 {
		font-size: 1.25rem;
		text-indent: 6px;
	}

	.schedule-detail {
		display: flex;
		align-items: center;
		margin-left: 10px;
		align-items: flex-start;
		flex: 1;
	}

	.schedule-list ul li {
		align-items: center;
		margin-top: 10px;
		align-items: flex-start;
	}

	.schedule-list ul li:first-child {
		margin-top: 8px;
	}

	.schedule-ico {
		width: 27px;
		height: 27px;
	}

	.schedule-detail .time {
		font-size: 1.35rem;
		line-height: 24px;
		width: 68px;
	}

	.schedule-detail .txt {
		font-size: 1.35rem;
		margin: 0 0 0 15px;
		flex: 1;
	}

	/* QA */
	.qa-area {
		background-size: 35%;
		margin-top: 20px;
	}

	.question {
		display: block;
	}

	.qa-area .question01 {
		margin-top: 0;
	}

	.qa-area > div { /* .question02以降 */
		margin-top: -20px;
	}

	.question h2 {
		font-size: 1.8rem;
		letter-spacing: -1px;
		line-height: 50px;
		padding-left: 3px;
	}

	.question h2 span:first-child {
		font-size: 6.1rem;
		text-indent: 0;
		margin-right: 20px;
	}

	.question h2.line2 { /* 質問が2行の場合 */
		line-height: 20px;
	}

	.question h2.line2 span:nth-child(2) { /* 質問が2行の場合 */
		margin-top: -15px;
	}

	.answer {
		margin-top: 18px;
		padding-bottom: 0; /* .question02以降の場合 */
	}

	.question01 .answer {
		padding-bottom: 56px; /* .question01の場合 */
	}

	.answer-inner {
		padding: 0 18px;
	}

	.answer-txt h3 {
		font-size: 3.35rem;
	}

	.answer-img img {
		max-width: 85%;
	}

	.answer-txt {
		font-size: 1.35rem;
		line-height: 24px;
		max-width: 100%;
		padding-left: 6px;
	}

	.answer-txt:before {
		left: -13px;
/*		margin-top: -105px;*/
		border: 5px solid transparent;
		border-right: 10px solid #fff;
	}

	.answer-txt:after {
		left: -15px;
/*		margin-top: -105px;*/
		border: 5px solid transparent;
		z-index: 1;
	}


	/* ------------ 01 type ------------ */
	#type01 {
		margin-top: 15px;
	}
	#type02 {
		margin-top: 15px;
	}
	#type03 {
		margin-top: 15px;
	}

	.qa-area {
		background-position: left 86px, right 30px, left 600px, right 536px;
	}


	/* QA */
	.question02 .question:after {
		top: -20px;
		bottom: 0;
	}
	
	.answer-txt:before, .answer-txt:after {
		top: 60%;}

	.answer-txt:after {
		border-right: 10px solid #0071B4;
	}


	/* ------------ 02 type ------------ */


	/* ------------ リンクボタン ------------ */
	.link-box {
		margin: 73px 0 149px;
	}

	.link-box .link-btn {
		width: 259px;
	}

}

@media screen and (max-width: 480px) {

	/* ------------ 共通 ------------ */
	.section > .bg {
		padding: 17px 0 22px;
	
	}
	
	
/*
	.caption-area .caption-tag .tag-bg {
    background: none;
}
*/
	
	.pc{
    display:none !important;
}
	.sp { display: block !important; }

	
	.job-gaiyou p {
		padding: 0 18px;
		font-size: 1.35rem;
    line-height: 24px;
	}
	
.story-kv img {
    width: 60%;
    left: -40px;
    top: -230px;
}
	h2.process {
		font-size: 20px;}
	
	h2.process span{
		font-size: 15px;}
	
	.process-h2 .balloon {
    left: 60px;
    top: -5px;
    width: 100px;
}
	.process-h2 {
    margin-bottom: 20px; 
}

	.section > .bg:after {
		height: 100%;
	}

	/* 動画エリア */
	.caption-area {
		flex-direction: column-reverse;
		height: 50px;
		margin-top: 200px;
	}

	.caption-txt-box {
	margin-top: 0;
    margin-left: auto;
    padding: 0 10px 0;
    width: 60%;
	}

	.type-num {
		width: 100%;
		max-width: 180px;
		margin-left: 0;
		margin-bottom: 20px;
	}

	.caption-tag {
		width: 100%;
		margin: 0 0 0 0px;
		position: static;
	}
	
	

	.caption-tag h3 {
		font-size: 1rem;
		height: 17px;
		line-height: 17px;
		padding: 0 7px;
	}
	
	

	.caption-tag .tag-bg {
		font-size: 1.8rem;
		height: 34px;
		line-height: 34px;
		margin-top: 0px;
		padding: 10px;
		display: table;
	}

	.youtube {
		height: auto;
		margin-top: 14px;
		padding: 0 25px;
	}

	.youtube iframe {
		display: block;
		width: 100%;
		margin: 0 auto;
	}
	
	/* 動画入ったらここ不要 */
	.youtube img {
		display: block;
		height: auto;
		width: 100%;
		margin: 0 auto;
	}

	/* プロフィール（左カラム） */
	.info-area {
		margin-top: 19px;
	}

	.info-area {
		flex-direction: column;
		padding: 0 17px;
	}

	.profile-box {
		max-width: 100%;
	}

	.profile-bg {
		padding: 10px 8px;
	}

	.profile {
		justify-content: flex-start;
		align-items: center;
	}

	.profile .profile-img {
		width: 50%;
		margin-top: 0;
	}

	.profile .profile-detail {
		margin-left: 18px;
	}

	.profile .profile-detail h3 {
		font-size: 1.35rem;
		letter-spacing: 1.9px;
	}

	.profile .profile-detail dl {
		line-height: 13px;
		margin-top: 5px;
	}

	.profile .profile-detail .box01 dt {
		font-size: 1rem;
	}

	.profile .profile-detail .box01 .name {
		font-size: 1.2rem;
	}

	.profile .profile-detail .box02 {
		font-size: 1rem;
	}

	.profile-txt {
		font-size: 1.35rem;
		line-height: 24px;
		margin-top: 4px;
	}

	.work-img-box {
		margin-top: 34px;
		padding-left: 0;
	}
	
	.before-job {
    border: solid 1px #0071B4;
    padding: 1.5em;
    text-align: center;
    display: block;		
}
	
	.jobwaku {
    font-size: 0.4rem;
}

	/* プロフィール（右カラム） */
	.schedule-box {
		max-width: 100%;
		margin: 33px 0 0;
	}

	.schedule-box:after {
		max-width: 96%;
	}

	.schedule-bg {
		max-width: 96%;
		padding-right: 8px;
	}

	.schedule-h2 .balloon {
		width: 53px;
		margin-top: -15px;
	}

	.schedule-h2 h2 {
		font-size: 1.25rem;
		text-indent: 6px;
	}

	.schedule-detail {
		display: flex;
		align-items: center;
		margin-left: 10px;
		align-items: flex-start;
		flex: 1;
	}

	.schedule-list ul li {
		align-items: center;
		margin-top: 10px;
		align-items: flex-start;
	}

	.schedule-list ul li:first-child {
		margin-top: 8px;
	}

	.schedule-ico {
		width: 27px;
		height: 27px;
	}

	.schedule-detail .time {
		font-size: 1.35rem;
		line-height: 24px;
		width: 68px;
	}

	.schedule-detail .txt {
		font-size: 1.35rem;
		margin: 0 0 0 15px;
		flex: 1;
	}

	/* QA */
	.qa-area {
		background-size: 35%;
		margin-top: 20px;
	}

	.question {
		display: block;
	}

	.qa-area .question01 {
		margin-top: 0;
	}

	.qa-area > div { /* .question02以降 */
		margin-top: -20px;
	}

	.question h2 {
		font-size: 1.8rem;
		letter-spacing: -1px;
		line-height: 50px;
		padding-left: 3px;
	}

	.question h2 span:first-child {
		font-size: 6.1rem;
		text-indent: 0;
		margin-right: 20px;
	}

	.question h2.line2 { /* 質問が2行の場合 */
		line-height: 20px;
	}

	.question h2.line2 span:nth-child(2) { /* 質問が2行の場合 */
		margin-top: -15px;
	}

	.answer {
		margin-top: 18px;
		padding-bottom: 0; /* .question02以降の場合 */
	}

	.question01 .answer {
		padding-bottom: 56px; /* .question01の場合 */
	}

	.answer-inner {
		padding: 0 18px;
	}

	.answer-txt h3 {
		font-size: 3.35rem;
	}

	.answer-img img {
		max-width: 85%;
	}

	.answer-txt {
		font-size: 1.35rem;
		line-height: 24px;
		max-width: 100%;
		padding-left: 6px;
	}

	.answer-txt:before {
		left: -13px;
/*		margin-top: -105px;*/
		border: 5px solid transparent;
		border-right: 10px solid #fff;
	}

	.answer-txt:after {
		left: -15px;
/*		margin-top: -105px;*/
		border: 5px solid transparent;
		z-index: 1;
	}


	/* ------------ 01 type ------------ */
	#type01 {
		margin-top: 15px;
	}
	#type02 {
		margin-top: 15px;
	}
	#type03 {
		margin-top: 15px;
	}

	.qa-area {
		background-position: left 86px, right 30px, left 600px, right 536px;
	}


	/* QA */
	.question02 .question:after {
		top: -20px;
		bottom: 0;
	}
	
	.answer-txt:before, .answer-txt:after {
		top: 60%;}

	.answer-txt:after {
		border-right: 10px solid #0071B4;
	}


	/* ------------ 02 type ------------ */


	/* ------------ リンクボタン ------------ */
	.link-box {
		margin: 73px 0 149px;
	}

	.link-box .link-btn {
		width: 259px;
	}

}

@media screen and (min-width: 375px) and (max-width: 413px) {
	/* ------------ QA背景画像の位置 ------------ */
	#type01 .qa-area,
	#type03 .qa-area,
	#type02 .qa-area {
		background-position: left 106px, right 30px, left 489px, right 426px;
	}

	/* ------------ 吹き出し三角の位置 ------------ */
	.answer-txt:before {
		margin-top: -75px;
	}

	.answer-txt:after {
		margin-top: -75px;
	}


}

@media screen and (min-width: 414px) and (max-width: 768px) {
	/* ------------ 動画のタグ部分 ------------ */


	/* ------------ QA背景画像の位置 ------------ */
	#type01 .qa-area,
	#type03 .qa-area,
	#type02 .qa-area {
		background-position: left 106px, right 30px, left 489px, right 426px;
	}

	/* ------------ 吹き出し三角の位置 ------------ */
	.answer-txt:before {
		margin-top: -65px;
	}

	.answer-txt:after {
		margin-top: -65px;
	}
}