@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;
	}
}
