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

/* SP */
@media only screen and (max-width:750px) {}

/* pttl
----------------------------------------------------------*/
body,
body::before,
#main {
	width: 100%;
	min-width: 100%!important;
	max-width: 960px;
}

.pttl {
	padding: 90px 0;
	text-align: center;
	background: #fff;
	text-align: center;
	display: flex;
	text-align: center;
    flex-wrap: wrap;
    flex-direction: column;
	line-height: 1;
}
.pttl-en {
	font-family: "Cormorant Garamond", serif;
	font-size: 100px;
	color: #c9cecc;
	/* line-height: 1; */
	line-height: 1.2;
	position: relative;
	/* display: flex;
	align-items: center;
	flex-direction: column; */
}
.pttl-en::first-letter {
	color: #35719b;
}
.pttl-en::after {
	position: absolute;
	content: '';
	bottom: 0;
	width: 135px;
	height: 1px;
	/* left: auto; */
	left: calc(50% - (135px / 2));
	background: #35719b;
}
.pttl-jp {
	font-size: 18px;
	color: #35719b;
	padding-top: 30px;
	font-family: "Shippori Mincho", serif;
}

/* SP */
@media only screen and (max-width:750px) {
	.pttl {
		/* padding: 30px 0; */
		padding: 7vw 0 11vw;
	}

	.pttl-en {
		font-size: 13.5vw;
		line-height: 1.2;
	}

	.pttl-jp {
		font-size: 3.5vw;
		padding-top: 3.5vw;
	}

	.pttl-jp::before {
		top: 0vw;
		width: 20vw;
	}
}

/* secImage
----------------------------------------------------------*/
.secImage {
	/* display: table; */
	width: 90%;
	/* height: 425px; */
	height: 215px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	max-width: 1000px;
    margin: 0 auto;
	display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
	color: #fff;
}
.secImage h3 {
	font-size: 60px;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	font-family: "Cormorant Garamond", serif;
	line-height: 1.2;
}
.secImage h3 span.en::first-letter {
	color: #35719b;
}
.secImage h3 span.num {
	font-size: 80px;
	display: flex;
	margin-left: 15px;
	font-family: "Shippori Mincho", serif;
}
.secImage .inText {
	padding: 0 45px 0 0;
	text-align: right;
}
.secImage p {
	font-size: 18px;
	line-height: 1.8;
	display: flex;
	/* align-items: right; */
	text-align: right;
	font-family: "Shippori Mincho", serif;
}
.secImage dl {
	/* display: table-cell;
	vertical-align: middle;*/
	text-align: center;
	color: #fff;
	display: flex;
    flex-wrap: wrap;
    flex-direction: column;

}
.secImage dt {
	margin-bottom: 20px;
}
.secImage p {
	font-size: 20px;
	font-weight: bold;
	line-height: 2;
	letter-spacing: 0.12em;
}

.secImage.bg01 { background-image: url(../images/bg_01.jpg); }
.secImage.bg02 { background-image: url(../images/bg_02.jpg); }
.secImage.bg03 { background-image: url(../images/bg_03.jpg); }
.secImage.bg04 { background-image: url(../images/bg_04.jpg); }
.secImage.bg05 { background-image: url(../images/bg_05.jpg); }
.secImage.bg01 { 
	margin-top: 110px;
}

/* SP */
@media only screen and (max-width:750px) {
	.secImage {
		height: 29vw;
	}

	.secImage h3 {
		font-size: 8vw;
	}

	.secImage h3 span.num {
		font-size: 11vw;
	}

	.secImage p {
		font-size: 3.5vw;
		letter-spacing: 0.08em;
		line-height: 1.7;
	}

	.secImage dt {
		margin-bottom: 15px;
	}
	.secImage dt img {
		max-width: 65%;
	}
	.secImage.bg01 { background-image: url(../images/sp/bg_01.jpg); }
	.secImage.bg02 { background-image: url(../images/sp/bg_02.jpg); }
	.secImage.bg03 { background-image: url(../images/sp/bg_03.jpg); }
	.secImage.bg04 { background-image: url(../images/sp/bg_04.jpg); }
	.secImage.bg05 { background-image: url(../images/sp/bg_05.jpg); }

	.secImage.bg01 { 
		margin-top: 14vw;
	}
}



/* secText
----------------------------------------------------------*/
.italic {
	font-style: italic;
}
.secText {
	max-width: 940px;
	margin: 0 auto;
	padding: 50px 20px 100px;
}
.secText .inText {
	float: left;
	width: 49.5%;
	font-size: 14px;
	line-height: 1.8;
	color: #4b4b4b;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}
.secText .inVoice {
	float: right;
	width: 47%;	
	/* padding-bottom: 60px; */
	/* background: url(../images/img_shadow.png) no-repeat center bottom; */
}
.secText .inVoice .inVoiceComment {
	position: relative;
	/* padding: 30px; */
	/* background: #e8e1d3 url(../images/bdr.jpg) no-repeat left top; */
	/* background-size: 100% 3px; */
	color: #35719b;
}
.secText .inVoice h3 {
	position: relative;
}
.secText .inVoice h3:after {
	position: absolute;
	bottom: auto;
	right: 0;
	display: block;
	content: '';
    width: 135px;
    background: #35719b;
    height: 1px;
} 
@media only screen and (max-width:960px) {
	.secText .inVoice h3:after {
		width: calc(100% - 300px);
	}
}
/* .secText .inVoice .inVoiceComment:before {
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	content: '';
	width: 100%;
	height: 3px;
	background: url(../images/bdr.jpg) no-repeat left top;
	background-size: 100% 3px;
}
.secText .inVoice .inVoiceComment:after {
	position: absolute;
	bottom: -24px;
	left: 50%;
	display: block;
	content: '';
	width: 24px;
	height: 27px;
	margin-left: -12px;
	background: url(../images/img_blow.png) no-repeat left top;
} */
.secText .inVoice h3 {
	margin-bottom: 15px;
	/* font-size: 13px; */
	text-align: center;
	font-weight: bold;
	font-size: 18px;
	font-weight: normal;
	display: flex;
	flex-wrap: wrap;
    align-items: center;
	font-family: "Cormorant Garamond", serif;
}
.secText .inVoice h3 .italic-text {
	font-size: 28px;
	font-style: italic;
	font-family: "Cormorant Garamond", serif;
	margin-right: 7px;
}
.secText .inVoice dt img {
	display: block;
	margin: 0 auto 5px;
}
.secText .inVoice p {
	font-size: 14px;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
	/* letter-spacing: .75; */
}
/* SP */
@media only screen and (max-width:750px) {
	.secText {
		/* padding: 30px 20px 40px; */
		padding: 10vw 10vw 15vw;
	}
	.secText .inText {
		float: none;
		width: auto;
		font-size: 3.5vw;
		margin-bottom: 8vw;
	}
	.secText .inVoice {
		float: none;
		width: auto;
		background-size: 70% auto;
	}
	.secText .inVoice .inVoiceComment {
		/* padding: 30px 20px; */
		padding: 0;
	}
	.secText .inVoice h3  {
		font-size: 4vw;	
	}
	.secText .inVoice h3:after {
		width: 20vw;
	}
	.secText .inVoice h3 .italic-text {
		font-size: 4.5vw;
		margin-right: 2vw;
	}
	.secText .inVoice p {
		font-size: 3.5vw;
	}
}



/* mapArea
----------------------------------------------------------*/
.mapArea {
	padding: 40px 20px 60px;
	background-color: #35719b;
}
.mapArea .mapInner {
	max-width: 865px;
	margin: 0 auto;
}
.mapArea .image {
	float: left;
	width: 36%;
}
.mapArea .text {
	float: right;
	width: 51%;
	font-size: 14px;
	line-height: 2;
	padding: 50px 0 0;
	color: #fff;
}
/* SP */
@media only screen and (max-width:750px) {
	.mapArea {
		padding: 10vw 10vw 16vw;
	}
	.mapArea .mapInner {
		max-width: 100%;
		margin: 0 auto;
	}
	.mapArea .image,
	.mapArea .text {
		float: none;
		width: auto;
	}
	.mapArea .image {
		/* margin-bottom: 20px; */
		text-align: center;
	}
	.mapArea .text {
		line-height: 1.8;
		font-size: 3.5vw;
		padding: 7vw 0 0;
	}
}


/* bgTextArea
----------------------------------------------------------*/
.bgTextArea {
	position: relative;
	height: 0;
	padding-bottom: 390px;
}
.bgTextArea .bgTextInner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../images/bg_06.png) no-repeat center top;
	background-size: 100% 100%;
}
.bgTextArea .bgTextTb {
	display: table;
	width: min(90%, 850px);
	height: 100%;
	margin: 0 auto;
	color: #000;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}
.bgTextArea .bgTextCell {
	display: table-cell;
	vertical-align: middle;
	font-size: 16px;
	line-height: 2;
}
/* .bgTextArea .bgTextCell p { */
	/* font-weight: bold; */
	/* width: 90%;
	margin: 0 auto; */
/* } */
.bgTextArea .bgTextCell span {
	font-size: 20px;
	color: #35719b;
	/* font-weight: bold; */

}
@media only screen and (min-width:1295px) {
	.bgTextArea {
		padding-bottom: 18%;
        margin-bottom: 72px;
	}
}

/* SP */
@media only screen and (max-width:750px) {
	.bgTextArea {
		height: auto;
		padding-bottom: 0;
	}
	.bgTextArea .bgTextInner {
		position: static;
		width: auto;
		height: auto;
		/* padding: 30px 20px 50px; */
		padding: 10vw 10vw 16vw;
	}
	.bgTextArea .bgTextTb {
		display: block;
		width: auto;
		max-width: none;
		height: auto;
		margin: 0 auto;
	}
	.bgTextArea .bgTextCell {
		display: block;
		font-size: 16px;
		line-height: 1.8;
		font-size: 3.5vw;
	}
	.bgTextArea .bgTextCell span {
		font-size: 4.2vw;
		color: #35719b;
		/* font-weight: bold; */
	}
}
@media only screen and (max-width:420px) {
	.bgTextArea .bgTextInner {
		/* background: url(../images/sp/bg_06.png) no-repeat center top; */
		/* background-size: auto 100%; */
		background-size: 100% 100%;
	}
}



/* lastimage
----------------------------------------------------------*/
.lastimage {
	margin: 0 auto 80px;
	width: 688px;
	text-align: center;
}
@media only screen and (max-width:750px) {
	.lastimage {
		margin: 11vw auto 14vw;;
		/* width: 100%; */
		width: 80%;
	}
}

/* .breadcrumb-wrap {
	width: 100%;
	display: flex;
	background: #000;
	color: #a68b65;
	justify-content: center;
	margin-top: 11vw;
  }
  @media all and (min-width: 751px){
	.breadcrumb-wrap {
		margin-top: 100px;
	}
  }
  .breadcrumb-wrap a {
	color: #fff;
	text-decoration: none;
  }
  .breadcrumb {
	font-size: 3vw;
	padding: 4vw 0 13vw;
	display: flex;
	width: 90%;
  }
  @media all and (min-width: 751px){
	.breadcrumb {
		font-size: 12px;
		padding: 25px 0;
	}
  }
  .breadcrumb li:not(:last-child) {
	margin-right: 22px;
	position: relative;
  }
  .breadcrumb li:not(:last-child)::after {
	position: absolute;
	top: 9%;
	right: -18px;
	width: 12px;
	content: ">";
	color: #fff;
	font-size: 80%;
  }
  @media all and (min-width: 751px){
	.breadcrumb li:not(:last-child)::after {
		right: -18px;
		width: 10px;
	}
  } */
  .footer {
	background-color: #FFFFFF;
	padding: 5.2vw 0 4vw;
  }
  
  @media all and (min-width: 751px) {
	.footer {
	  padding: 15px 0px 20px;;
	}
  }

  body {
	position: relative;
	min-width: 100%;
}
body::before{
	top: 0;
	background: rgb(0,0,0,.85);
	background: rgb(240, 241, 241,0.95);
	position: absolute;
	content: '';
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 0;
	/* background-position: 100px 0; */
	min-width: 100%;
}

@media all and (min-width: 751px) {
	body {
		min-width: 960px;
	}
	body::before{
		min-width: 960px;
	}
  }

  .bg-video {
	position: fixed;
    z-index: -1;
	min-width: 100%;
    min-height: 100vh;
  }

  .internship_mission .other {
	padding: 100px 0;
  }


  	html, body {
		overflow-x: hidden;
		height: auto;
	}

	body .pttl-top {
		padding: 180px 0 90px;
	}

	.secText, .mapArea {
		overflow: hidden;
	}

	@media screen and (max-width: 750px) {
		body .pttl-top {
			padding: 7vw 0 11vw;
		}

		.internship_mission .other {
			padding: 10vw 0 13.5vw;
		}
	}