@charset "utf-8";
/* CSS Document */

/* ----- key-visual ----- */

img.kv-object {
	width: 100%;
	height: 150px;
	position: absolute;
	top: 550px;
}
.kv-wrap {
	width: 100%;
	height: 700px;
	position: relative;
	overflow: hidden;
}

img.kv-ph {
	width: 100%;
	height: 700px;
	object-fit: cover;
	object-position: center;
}
h1 {
	position: absolute;
	top: calc( 60% - 50px);
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
}
h1 img {
	width: 700px;
}
.leadTxet {
	margin: 40px 0;
}

@media screen and (max-width: 1080px) {
	img.kv-object {
		height: 100px;
		top: 800px;
		display: none;
	}
	.kv-wrap {
		width: 100%;
		height: 500px;
		position: relative;
		overflow: hidden;
	}
	img.kv-ph {
		width: 100%;
		height: 500px;
	}
	h1 {
		top:  50%;
		left: 50%;
	}
	h1 img {
		width: 550px;
	}
}
@media screen and (max-width: 600px) {
	header {
		opacity: 1;
	}
	img.kv-ph {
		height: 100%;
	}
	h1 {
		top: 55%;
		width: 70%;
	}
	h1 img {
		width: 100%;
	}
	.kv-wrap {
		height: 200px;
		margin-top: 80px;
	}
}
/* ----- key-visual ----- */

#lead {
	width: 780px;
	margin: 80px auto;
}

#lead > .text01 {
	width: 100%;
	line-height: 1.75;
	letter-spacing: 0.16rem;
	text-align: justify;
}
@media screen and (max-width: 1080px) {
	#lead {
		width: 90%;
		margin: 40px auto;
	}

	#lead > .text01 {
		width: 100%;
	}
}
@media screen and (max-width: 600px) {
	#lead {
		width: 90%;
		margin: 40px auto;
	}

	#lead > .text01 {
		width: 100%;
		text-align: left;
	}
}
/* ----- index ----- */

#index {
	width: 780px;
	margin: 80px auto;
}
div.index-wrap {
	width: 780px;
	border: #5FA7C1 5px solid;
	box-sizing:border-box;
	padding: 40px;
	display:flex;
	flex-wrap:wrap;
	align-items: center;
}

div.index-wrap div:nth-of-type(1) {
	width: 290px;
}
div.index-wrap div:nth-of-type(2) {
	width: 400px;
	text-align: left;
}


@media screen and (max-width: 1080px) {
	#index {
		width: 90%;
		margin: 40px auto;
		padding: 2em 2em;
	}
	div.index-wrap {
		width: 100%;
	}
	div.index-wrap div:nth-of-type(1) {
		width: 40%;
	}
	div.index-wrap div:nth-of-type(2) {
		width: 60%;
	}
}
@media screen and (max-width: 600px) {
#index {
	width: 90%;
	margin: 40px auto;
	padding: 0;
}
div.index-wrap {
	width: 100%;
	padding: 1em;
	display:block;
	flex-wrap: nowrap;
	align-items: center;
}

div.index-wrap div:nth-of-type(1) {
	width: 100%;
}
div.index-wrap div:nth-of-type(2) {
	width: 100%;
	text-align: left;
	font-size: 3.5vw;
}
}
/* ----- topics ----- */

/* ----- profile ----- */
#profile {
	margin: 80px auto 100px;
}
#profile .contents {
	background-image: url(../images/img_trial02.svg);
	background-repeat: no-repeat;
	background-position: 50% 40px;
}

#profile div.prof {
	width: 100%;
	display:flex;
	flex-wrap:wrap;
	margin-bottom: 40px;
}
#profile div.prof div:nth-of-type(1){
	width: 75%;
	text-align: left;
	padding-right: 80px;
}
#profile div.prof div:nth-of-type(2){
	width: 25%;
}
#profile div.prof div:nth-of-type(2) img{
	width: 100%;
}

#profile div.ito div:nth-of-type(1){
	order: 2;
	padding-left: 80px;
	padding-right: 0px;
}

#profile div.ito div:nth-of-type(2){
	order: 1;
}


@media screen and (max-width: 1080px) {
	#profile {
		margin: 40px auto 50px;
	}
	#profile div.prof {
		width: 90%;
		margin: 0 auto 2em;
	}
	#profile div.prof div:nth-of-type(1){
		padding-right: 3%;
	}
	#profile div.prof div:nth-of-type(2){
		width: 25%;
	}
	#profile div.ito div:nth-of-type(1){
	padding-left: 3%;
	padding-right: 0px;
	}


}
@media screen and (max-width: 600px) {
	#profile {
		margin: 40px auto 50px;
	}
	#profile div.prof {
		width: 90%;
		display:block;
		flex-wrap: nowrap;
		margin-bottom: 20px;
	}
	#profile div.prof div:nth-of-type(1){
		width: 100%;
		text-align: left;
		padding-right: 0;
	}
	#profile div.prof div:nth-of-type(2){
		width: 100%;
		text-align: center;
		margin-top: .5em;
	}
	#profile div.prof div:nth-of-type(2) img{
		width: 70%;
	}
	
	#profile div.ito div:nth-of-type(1){
		padding-left: 0px;
		padding-right: 0px;
	}
}

/* ----- talk ----- */
#talk {
    background-image: url(../../images/bg_topics.gif);
    margin-top: 80px;
}

.index-text ul li a {
	border-bottom: #5FA7C1 1px dotted;
}
#talk div.talk {
	width: 100%;
	display:flex;
	flex-wrap:wrap;
	margin-bottom: 40px;
}
#talk div.talk div:nth-of-type(1){
	width: 200px;
}
#talk div.talk div:nth-of-type(1) img{
	width: 100%;
}
#talk div.talk div:nth-of-type(2){
	width: 780px;
	background-color: #fff;
	text-align: left;
	padding: 40px;
	margin-left: 100px;
}
#talk div.ito div:nth-of-type(1){
	order: 2;
}
#talk div.ito div:nth-of-type(2){
	order: 1;
	margin-left: 0px;
	margin-right: 100px;
}

#talk div.text {
	width: 780px;
	line-height: 1.8;
	text-align: left;
	margin: 40px auto 80px;
}
#talk div.talk_img {
	margin: 40px auto 120px;
}
#talk div.talk_img img {
	width: 100%;
}

#talk div.last {
	position:relative;
}
@media screen and (max-width: 1080px) {
	#talk {
		margin-top: 0;
	}
	#talk div.talk {
		width: 90%;
		margin: 0 auto 2em;
	}
	#talk div.talk div:nth-of-type(1){
		width: 20%;
	}
	#talk div.talk div:nth-of-type(2){
		width: 75%;
		padding: 2em;
		margin-left: 5%;
	}
	#talk div.ito div:nth-of-type(2){
		order: 1;
		margin-left: 0px;
		margin-right: 5%;
	}
	#talk div.text {
		width: 90%;
	}
#talk div.talk_img {
	margin: 40px auto 60px;
}

}
@media screen and (max-width: 600px) {
	#talk .contents h2 img {
		width: 90%;
	}
	#talk div.talk {
		width: 90%;
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 40px;
	}
	#talk div.talk div:nth-of-type(1){
		width: 20%;
	}
	#talk div.talk div:nth-of-type(1) img{
		width: 100%;
	}
	#talk div.talk div:nth-of-type(2){
		width: 79%;
		background-color: #fff;
		font-size: 3.8vw;
		text-align: left;
		padding: 1em;
		margin-left: 1%;
	}
	#talk div.ito div:nth-of-type(2){
		margin-right: 0px;
	}
	#talk div.ito div:nth-of-type(1){
		order: 1;
	}
	#talk div.ito div:nth-of-type(2){
		order: 2;
		margin-right: 0px;
	}
	
	#talk div.text {
		width: 90%;
		line-height: 1.8;
		text-align: left;
		margin: 20px auto 40px;
	}
	#talk div.talk_img {
		margin: 0px auto 50px;
	}
	#talk div.talk_img img {
		width: 100%;
	}

	#talk div.last {
		position:relative;
	}
}

/* ----- /talk ----- */

#btn {
	position: absolute;
	z-index: 3;
	margin-top: -200px;
	left: 50%;
	transform: translateY(0%) translateX(-50%);
	-webkit- transform: translateY(0%) translateX(-50%);
}

#btn img {
	width: 150px!important;
}
@media screen and (max-width: 1080px) {
div#btn.pc {
	display: none;
}
#btn {
	display:block;
	text-align: center;
	position: relative;
	z-index: 98;
	margin-top: 0;
	left: 0;
	transform: translateY(0%) translateX(0%);
	-webkit- transform: translateY(0%) translateX(0%);
}
#btn img {
	width: 100px!important;
}

}


.cf::after{
  content: "";
  display: block;
  clear: both;
}

