@charset "UTF-8";
/*----------------------------------------

	index CSS

	- common

-----------------------------------------*/

/*----------------------------------------
	#mv
-----------------------------------------*/

#mv {
	padding: 0;
}

/* tb  835 - # */
@media screen and (min-width:835px) {
	#intro {
		padding: 60px 0 0;
	}
}

/*----------------------------------------
	#main
-----------------------------------------*/

#main.inner {
	margin: 0 auto;
	padding: 0 5.3% 15%;
}

/* セクション共通 */
#main .sec .title {
	padding: 0 0 6%;
	line-height: 1.6;
}
#main .sec + .sec {
	padding-top: 12%;
}
#main .sec .talkBox:nth-of-type(2) {
	padding-top: 6%;
}

/* Talk */
#main .talkBox > dt {
	float: left;
	padding: 0 4% 0 0;
	line-height: 1.9;
}
#main .talkBox > dd {
	line-height: 1.9;
}

/* 1カラム用 */
#main .col1Box figure > figcaption {
	padding: 2% 0 0;
}
#main .col1Box figure > figcaption dl dt {
	padding: 0 0 2%;
}
#main .col1Box + p,
#main p + .col1Box,
#main .col1Box + div,
#main div + .col1Box {
	padding-top: 6%;
}

/* 2カラム用 */
#main .col2Box figure + figure {
	padding: 6% 0 0;
}
#main .col2Box figure > figcaption {
	padding: 2% 0 0;
}
#main .col2Box figure > figcaption dl dt {
	padding: 0 0 2%;
}
#main .col2Box + p,
#main p + .col2Box,
#main .col2Box + div,
#main div + .col2Box {
	padding-top: 6%;
}

/* 3カラム用 */
#main .col3Box figure + figure {
	padding: 6% 0 0;
}
#main .col3Box figure > figcaption {
	padding: 2% 0 0;
}
#main .col3Box figure > figcaption dl dt {
	padding: 0 0 2%;
}
#main .col3Box + p,
#main p + .col3Box,
#main .col3Box + div,
#main div + .col3Box {
	padding-top: 6%;
}

/* プロフィール用 */
#main .profile {
	margin: 0 auto;
}
#main .profileBox {
	padding: 6% 0;
	border-top: 1px solid #e5e5e5;
	border-bottom: 1px solid #e5e5e5;
}
#main div + .profileBox,
#main p + .profileBox {
	margin-top: 6%;
}
#main .profileBox + div,
#main .profileBox + p {
	margin-top: 6%;
}
#main .profileBox>.profile+.profile {
	margin-top: 6%;
}
#main .profile>p {
	overflow: hidden;
	display: table;
	width: 130px;
	height: 130px;
	margin: 0 auto 3%;
	border-radius: 50%;
}
#main .profile>dl {
	text-align: center;
}
#main .profileBox>.profile>dl {
	text-align: left;
}

/* ボーダー付き2カラム用 */
#main .borderBox figure > div {
	padding: 6% 4%;
	border: 1px solid #e5e5e5;
}
#main .borderBox figure > div > p + p {
	margin: 8% 0 0;
}
#main .borderBox figure figcaption {
	padding: 3% 0 0;
}

/* 2カラムリスト用 */
#main .colList li + li {
	margin: 6% 0 0;
	padding: 5% 0 0;
	border-top: 1px solid #e5e5e5;
}
#main .colList li [class^="col2Box"] {
	padding: 2% 0 0;
}
#main .colList li [class^="col2Box"] figure + figure {
	padding: 6% 0 0;
}
#main .colList li [class^="col2Box"] figure > figcaption {
	padding: 2% 0 0;
}

/* 矢印付き2,3カラム用 */
#main .colListAr {
	padding: 3% 0 0;
}
#main .colListAr + .colListAr {
	padding: 0;
}
#main .colListAr + .colListAr li:first-child {
	position: relative;
	padding: 14% 0 0;
}
#main .colListAr + .colListAr li:first-child::before {
	content: '';
	position: absolute;
	top: 3%;
	left: 50%;
	margin-left: -12px;
	border-top: 12px solid #cccccc;
	border-left: 12px solid transparent;
	border-right: 12px solid transparent;
}
#main .colListAr li + li {
	position: relative;
	padding: 14% 0 0;
}
#main .colListAr li + li:before {
	content: '';
	position: absolute;
	top: 3%;
	left: 50%;
	margin-left: -12px;
	border-top: 12px solid #cccccc;
	border-left: 12px solid transparent;
	border-right: 12px solid transparent;
}
#main .colListAr li figure > figcaption dl {
	padding: 2% 0 0;
}
#main .colListAr li figure > figcaption dl dt {
	padding: 0 0 2%;
}

/* リストボックス(背景付き) 3カラム用 */
#main .colListBox > div > div {
	position: relative;
}
#main .colListBox > div > div + div {
	margin-top: 2%;
}
#main .colListBox.col3 > div > div > ul {
	margin-left: -2%;
}
#main .colListBox.col3 > div > div > ul > li {
	float: left;
	width: 33.3333%;
	padding-left: 2%;
}
#main .colListBox > div > div > p {
	margin-bottom: 2%;
	text-align: center;
	line-height: 1.4;
}
#main .colListBox dl {
	padding: 2% 0 0;
}
#main .colListBox dl dt {
	padding: 0 0 2%;
}

@media screen and (min-width:835px) {
	#main.inner {
		max-width: 1040px;
		margin: 0 auto;
		padding: 0 40px;
		box-sizing: content-box;
	}
	
	/* セクション共通 */
	#main .sec .title {
		padding: 0 0 25px;
		line-height: 1.5;
	}
	#main .sec + .sec {
		padding-top: 85px;
	}
	#main .sec .talkBox:nth-of-type(2) {
		padding-top: 50px;
	}
	
	/* Talk */
	#main .talkBox > dt {
		float: left;
		padding: 0 15px 0 0;
		line-height: 2.15;
	}
	#main .talkBox > dd {
		line-height: 2.15;
	}
	
	/* 1カラム用 */
	#main .col21Box figure > figcaption {
		padding: 5px 0 0;
	}
	#main .col1Box figure > figcaption dl {
		padding: 5px 0 0;
	}
	#main .col1Box figure > figcaption dl dt {
		padding: 0 0 10px;
	}
	#main .col1Box + p,
	#main p + .col1Box,
	#main .col1Box + div,
	#main div + .col1Box {
		padding-top: 20px;
	}
	
	/* 2カラム用 */
	#main .col2Box figure {
		float: left;
		width: 50%;
		padding: 0 10px 0 0;
	}
	#main .col2Box figure + figure {
		padding: 0 0 0 10px;
	}
	#main .col2Box figure > figcaption {
		padding: 5px 0 0;
	}
	#main .col2Box figure > figcaption dl {
		padding: 5px 0 0;
	}
	#main .col2Box figure > figcaption dl dt {
		padding: 0 0 10px;
	}
	#main .col2Box + p,
	#main p + .col2Box,
	#main .col2Box + div,
	#main div + .col2Box {
		padding-top: 20px;
	}
	
	/* 3カラム用 */
	#main .col3Box figure {
		float: left;
		width: calc((335/1040)*100%);
		margin: 0 0 0 16px;
		padding: 0;
		box-sizing: content-box;
	}
	#main .col3Box figure:nth-of-type(1) {
		margin: 0;
	}
	#main .col3Box figure + figure {
		padding: 0;
	}
	#main .col3Box figure > figcaption {
		padding: 5px 0 0;
	}
	#main .col3Box figure > figcaption dl {
		padding: 5px 0 0;
	}
	#main .col3Box figure > figcaption dl dt {
		padding: 0 0 10px;
	}
	#main .col3Box + p,
	#main p + .col3Box,
	#main .col3Box + div,
	#main div + .col3Box {
		padding-top: 20px;
	}
	
	/* プロフィール用 */
	#main .profile {
		text-align: right;
	}
	#main .profileBox {
		padding: 54px 0;
	}
	#main div + .profileBox,
	#main p + .profileBox {
		margin-top: 20px;
		padding-top: 54px;
	}
	#main .profileBox + div,
	#main .profileBox + p {
		margin-top: 20px;
	}
	#main .profileBox>.profile {
		float: left;
		width: 50%;
		padding: 0 30px 0 0;
	}
	#main .profileBox>.profile+.profile {
		margin-top: 0;
		padding: 0 0 0 30px;
	}
	#main .profile>p,
	#main .profile>dl {
		display: inline-block;
		vertical-align: middle;
		margin: 0;
	}
	#main .profileBox .profile>p,
	#main .profileBox .profile>dl {
		vertical-align: top;
	}
	#main .profile>dl {
		max-width: calc(100% - 130px);
		padding-left: 30px;
		text-align: left;
	}
	
	/* ボーダー付き2カラム用 */
	#main .borderBox figure > div {
		padding: 25px 19px;
	}
	#main .borderBox.col2 figure > div > p {
		float: left;
		width: 50%;
		padding: 0 20px 0 0;
	}
	#main .borderBox.col2 figure > div > p + p {
		margin: 0;
		padding: 0 0 0 20px;
	}
	#main .borderBox figure figcaption {
		padding: 15px 0 0;
	}
	
	/* 2カラムリスト用 */
	#main .colList li + li {
		margin: 30px 0 0;
		padding: 25px 0 0;
		border-top: 1px solid #e5e5e5;
	}
	#main .colList li [class^="col2Box"] {
		padding: 10px 0 0;
	}
	#main .colList li [class^="col2Box"] figure {
		float: left;
		width: 50%;
	}
	#main .colList li [class^="col2Box"] figure + figure {
		padding: 0;
	}
	#main .colList li [class^="col2Box"] figure > figcaption {
		padding: 5px 0 0;
	}
	#main .colList li .col2Box_01 figure {
		padding: 0 20px 0 0;
	}
	#main .colList li .col2Box_01 figure + figure {
		padding: 0 0 0 20px;
	}
	
	/* 矢印付き2,3カラム用 */
	#main .colListAr + .colListAr {
		padding: 60px 0 0;
	}
	#main .colListAr + .colListAr li:first-child {
		padding: 0;
	}
	#main .colListAr + .colListAr li:first-child::before {
		content: none;
	}
	#main .colListAr li + li {
		padding: 0;
	}
	#main .colListAr li + li:before {
		content: none;
	}
	#main .colListAr li + li figure > p {
		position: relative;
	}
	#main .colListAr li + li figure > p:before {
		content: '';
		position: absolute;
		top: 50%;
		left: -30px;
		margin-top: -15px;
		border: none;
		border-top: 15px solid transparent;
		border-bottom: 15px solid transparent;
		border-left: 15px solid #cccccc;
	}
	#main .colListAr li figure > figcaption dl {
		padding: 10px 0 0;
	}
	#main .colListAr li figure > figcaption dl dt {
		padding: 0 0 10px;
	}
	#main .colListAr.col2List,
	#main .colListAr.col3List {
		margin-left: -46px;
	}
	#main .colListAr.col2List li,
	#main .colListAr.col2List li:first-child {
		float: left;
		width: 50%;
		padding: 0 0 0 46px;
	}
	#main .colListAr.col3List li {
		float: left;
		width: 33.3333%;
		padding: 0 0 0 46px;
	}
	
	/* リストボックス(背景付き) 3カラム用 */
	#main .colListBox > div {
		background-color: #f1f1f1;
		padding: 20px;
	}
	#main .colListBox.sttl > div {
		padding-left: 140px;
	}
	#main .colListBox > div > div {
		max-width: 640px;
		margin-left: auto;
		margin-right: auto;
	}
	#main .colListBox > div > div + div {
		margin-top: 11px;
	}
	#main .colListBox.col3 > div > div > ul {
		position: relative;
		margin-left: -11px;
	}
	#main .colListBox.col3 > div > div > ul > li {
		float: left;
		width: 33.3333%;
		padding-left: 11px;
	}
	#main .colListBox > div > div > p.circle {
		display: table;
		position: absolute;
		top: 50%;
		left: -116px;
		width: 130px;
		height: 130px;
		margin-top: -65px;
		background-color: #fff;
		border-radius: 50%;
	}
	#main .colListBox > div > div > p.circle >span {
		display: table-cell;
		vertical-align: middle;
	}
	#main .colListBox dl {
		clear: both;
		padding: 10px 0 0;
	}
	#main .colListBox dl dt {
		padding: 0 0 10px;
	}
}

@media screen and (min-width:960px) {
	#main .colListBox.sttl > div {
		padding: 20px 0;
	}
}

@media screen and (min-width:835px) and ( max-width:1120px) {
	#main .col3Box figure {
		margin: 0 0 0 1.5%;
	}
}

/*----------------------------------------
	#intro
-----------------------------------------*/

#intro.sec .title {
	padding: 0 0 6%;
	line-height: 1.5;
}
#intro .title_s_cate {
	display: inline-block;
	color: #ffffff;
	padding: 2px 8px;
	margin: 0 0 3%;
}
#intro .title_s_cate.interview { /*Interview*/
	background: #8bc04c;
}
#intro .txt {
	line-height: 1.9;
}

@media screen and (min-width:835px) {
	#intro.sec .title {
		padding: 0 0 40px;
		line-height: 1.6;
	}
	#intro .title_s_cate {
		padding: 2px 23px;
		margin: 0 0 15px;
	}
	#intro .txt {
		line-height: 2.15;
	}
}


/*----------------------------------------
	#other
-----------------------------------------*/

#other .date {
	margin: 0 0 20px;
	padding: 1% 0 0;
}
#other .btn_more a {
	width: 62%;
	margin: 8% auto 0;
}

@media screen and (min-width:835px) {
	#other .date {
		margin: 0 0 20px;
		padding: 15px 0 0;
	}
	#other .btn_more a {
		width: 230px;
		margin: 80px auto 0;
	}
}

@media screen and (max-width:320px) {
#other .btn_more a {
	width: 72%;
}
}

/*----------------------------------------
	SNS
-----------------------------------------*/
#main .snsBox.floating {
	margin: 10% 0 25px;
}

@media screen and (min-width:835px) {
	#main .snsBox.floating {
		margin: 0;
	}
}
