@charset "UTF-8";

@media screen and (min-width: 768px) {
	body {
		margin: 0px;
		padding: 0px;
	}

	html, body, div, span, applet, object, iframe,
	h1, h2, h3, h4, h5, h6, p, blockquote, pre,
	a, abbr, acronym, address, big, cite, code,
	del, dfn, em, img, ins, kbd, q, s, samp,
	small, strike, strong, sub, sup, tt, var,
	b, u, i, center,
	dl, dt, dd, ol, ul, li,
	fieldset, form, label, legend,
	table, caption, tbody, tfoot, thead, tr, th, td,
	article, aside, canvas, details, embed, 
	figure, figcaption, footer, header, hgroup, 
	menu, nav, output, ruby, section, summary,
	time, mark, audio, video {
		margin: 0px;
		padding: 0px;
		border: 0px;
		vertical-align:baseline;
		background:transparent;
	}

	ol, ul {
		list-style: none;
	}

	a {
		text-decoration: normal;
	}

	div, article, aside, canvas,details, figcaption, figure,
	footer, header, hgroup, menu, nav, section, summary {
		display:block;
	}

	blockquote, q {
		quotes:none;
	}

	blockquote:before, blockquote:after,
	q:before, q:after {
		content:'';
		content:none;
	}
	table {
		border-collapse:collapse;
		border-spacing:0;
	}
	input, select {
		vertical-align:middle;
	}

	.left {
		float: left;
	}
	.right {
		float: right;
	}


	.clearfix { zoom: 1; }
	.clearfix:before,
	.clearfix:after { content: ""; display: table; }
	.clearfix:after { clear: both; }

	.txt_img {
		text-indent: -9999px;
		overflow: hidden;
	}

	/*---- 汎用クラス --------------------------------------*/
	table {
		border-collapse: collapse;	
	}
	table tr td {
		vertical-align: middle;
	}
	.center {
		text-align: center;
	}
	.f_left{
		float: left;
	}
	.f_right{
		float: right;
	}
	.border_R {
		border-right: solid 1px #666666;
	}
	.border_B {
		border-bottom: solid 1px #999999;
	}
	.pB_5 {
		padding-bottom: 5px;
	}
	.pB_10 {
		padding-bottom: 10px;
	}
	.pB_15 {
		padding-bottom: 15px;
	}
	.pB_20 {
		padding-bottom: 20px;
	}
	.pB_25 {
		padding-bottom: 25px;
	}
	.mB_5 {
		margin-bottom: 5px;
	}
	.mB_10 {
		margin-bottom: 10px;
	}
	.mB_15 {
		margin-bottom: 15px;
	}
	.mB_20 {
		margin-bottom: 20px;
	}
	.mB_25 {
		margin-bottom: 25px;
	}
	.mB_30 {
		margin-bottom: 30px;
	}
	.mB_35 {
		margin-bottom: 35px;
	}
	.mB_40 {
		margin-bottom: 40px;
	}
	.mB_50 {
		margin-bottom: 50px;
	}

	/*---- 汎用クラスEND --------------------------------------*/

	html, body {
		width:100%;
		height:auto;
	}

	body {
		font-family: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		font-size: 12px;
		line-height: 140%;
		font-weight: normal;
		color: #000;
		box-sizing: border-box;
	}
	#wrapper {
		width: 100%;
		position: relative;
		z-index: 1;
	}
	.line_0 {
		line-height:2;
	}
	#wrapper #main_v {
		background-image: url(../img/main_bg.jpg);
		height: 741px;
		width: 100%;
		position: relative;
		z-index: 1;
		background-repeat: no-repeat;
		background-position: center 0;
		background-size: cover;
	}
	#main_v .main_box {
		height: 555px;
		width: 960px;
		margin-right: auto;
		margin-left: auto;
		position: relative;
		z-index: 1;
		display: block!important;
	}
	#main_v .main_box h1 {
		width: 590px;
		height: 360px;
		padding-top: 80px;
	}
	#main_v .main_box .main_btn {
		height: 124px;
		width: 572px;
	}
	#main_v .anch_area {
		background-image: url(../img/main_anch_bg.png);
		background-repeat: repeat-x;
		background-position: 0px 0px;
		height: 187px;
		width: 100%;
		position: relative;
		z-index: 1;
	}
	#main_v .anch_area h2 {
		text-align: center;
		height: 37px;
		padding-top: 8px;
		margin-bottom: 26px;
	}
	#main_v .anch_area ul {
		width: 960px;
		margin-right: auto;
		margin-left: auto;
		position: relative;
		z-index: 1;
	}
	#main_v .anch_area ul li {
		float: left;
		height: auto;
		width: 230px;
		margin-left: 13px;
	}
	#main_v .anch_area ul li:first-child {
		margin-left: 0;
	}
	#main_v .anch_area .clearfix li a {
		display: block;
		height: 88px;
		width: 228px;
		border: 1px solid #F7C913;
		background-color: #000;
		transition: all .6s;
	}
	#main_v .anch_area .clearfix li a:hover {
		border: 1px solid #fff;
		background-color: #333;
	}
	#contents_wrap .cv_area {
		text-align: center;
		height: auto;
		width: 960px;
	}
	#contents_wrap .cv_area a {
		transition: all .3s;
	}
	#contents_wrap .cv_area a:hover {
		opacity: 0.5;
	}
	#contents_wrap {
		width: 960px;
		margin-right: auto;
		margin-left: auto;
		position: relative;
		z-index: 1;
	}
	.block {
		margin-bottom: 40px;
	}
	#block01 h2.isPc {
		text-align: center;
		margin-bottom: 30px;
		padding-top: 30px;
		display: block!important;
	}
	#block01 ul {
		background-color: #CCC;
		padding: 25px;
		position: relative;
		background-image: url(../img/bl01_bg.png);
		background-repeat: repeat;
		background-position: 0px 0px;
	}
	#block01 ul li {
		height: 360px;
		width: 290px;
		float: left;
		margin-left: 20px;
		position: relative;
	}
	#block01 ul li:first-child,
	#block01 ul li:first-child + * + * + * {
		margin-left: 0;
	}
	#block02 .bl02_inner {
		background-image: url(../img/bl02_bg.png);
		height: 1038px;
		width: 960px;
		position: relative;
		z-index: 1;
		margin-bottom: 40px;
	}
	#block02 .bl02_inner dl {
		width: 376px;
		position: absolute;
		z-index: 1;
	}
	#block02 .bl02_inner dl dt {
		text-align: right;
	}
	#block02 .bl02_inner .ob01 {
		left: 68px;
		top: 31px;
	}
	#block02 .bl02_inner .ob02 {
		right: 68px;
		top: 31px;
	}
	#block02 .bl02_inner .ob03 {
		left: 68px;
		top: 532px;
	}
	#block02 .bl02_inner .ob04 {
		right: 68px;
		top: 532px;
	}
	#block03 ol {
		width: 920px;
		padding-top: 20px;
		padding-right: 20px;
		padding-bottom: 30px;
		padding-left: 20px;
		position: relative;
		z-index: 1;
		background-color: #EEEEEE;
	}
	#block03 ol li {
		background-color: #FFF;
		height: 434px;
		width: 220px;
		float: left;
		margin-left: 13px;
	}
	#block03 ol li:first-child {
		margin-left: 0;
	}

	#block03 .study_txt {
		padding-top: 14px;
		padding-right: 14px;
		padding-bottom: 20px;
		padding-left: 14px;
	}
	#block03 .study_txt strong {
		font-size: 13px;
		display: inline-block;
		margin-bottom: 3px;
	}
	#block03 .bl03_mu {
		background-color: #EEEEEE;
		padding-top: 20px;
		padding-right: 20px;
		padding-bottom: 30px;
		padding-left: 20px;
		height: 367px;
		width: 920px;
		margin-bottom: 40px;
	}
	#block04 .bl04_inner {
		padding-top: 26px;
		padding-right: 30px;
		padding-bottom: 30px;
		padding-left: 30px;
		width: auto;
		background-color: #000;
		margin-bottom: 40px;
	}
	#block04 .bl04_inner dl {
		height: auto;
		width: 440px;
	}
	#block04 .bl04_inner dl:first-child {
		width: 100%;
	}
	#block04 .bl04_inner dl dd {
		background-color: #FFF;
		background-repeat: no-repeat;
		background-position: 0px 0px;
		height: 276px;
		padding-top: 14px;
		padding-right: 14px;
		padding-left: 214px;
	}
	#block04 .bl04_inner .teach01 dd {
		background-image: url(../img/bl04_img01.jpg);
	}
	#block04 .bl04_inner .teach02 dd {
		background-image: url(../img/bl04_img02.jpg);
	}
	#block04 .bl04_inner .teach03 dd {
		background-image: url(../img/bl04_img03.jpg);
	}
	#block04 .bl04_inner .teach04 dd {
		background-image: url(../img/bl04_img04.jpg);
	}
	#block04 .bl04_inner .teach01 dd.y2024 {
		background-image: url(../img/bl04_img01_2024.jpg);
	}
	#block04 .bl04_inner .teach02 dd.y2024 {
		background-image: url(../img/bl04_img02_2024.jpg);
	}
	#block04 .bl04_inner .teach03 dd.y2024 {
		background-image: url(../img/bl04_img03_2024.jpg);
	}
	#block04 .bl04_inner .teach04 dd.y2024 {
		background-image: url(../img/bl04_img04_2024.jpg);
	}
	#block04 .bl04_inner .teach05 dd.y2021 {
		height: auto;
		padding: 0;
		width: 100%;
		display: flex;
	}
	#block04 .bl04_inner .teach05 dd.y2021 img{
		vertical-align: bottom;
	}
	#block04 .bl04_inner .teach05 dd .bl04_inner_text-area{
		padding: 35px 40px 0;
		line-height: 1.6;
	}
	#block04 .bl04_inner .teach05 dd .bl04_inner_text-area > * + *{
		margin-top: 20px;
	}
	#block04 .bl04_inner .teach05 dd .bl04_inner_button{
		border: none;
		background-color: #000;
		color: #f7c913;
		font-weight: bold;
		font-size: 12px;
		line-height: 26px;
		width: 105px;
		text-align: left;
		padding-left: 15px;
		position: relative;
		cursor: pointer;
	}

	#block04 .bl04_inner .teach05 dd .bl04_inner_button::after{
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 5px 0 5px 6px;
		border-color: transparent transparent transparent #f7c913;
		position: absolute;
		right:15px;
		top: 50%;
		transform: translateY(-50%);
	}


	.bl04_modal{
		background-color: #fff;
		width: 600px;
		padding: 35px 50px;
		box-sizing: border-box;
	}

	.bl04_modal-heading{
		font-size: 20px;
		font-weight: bold;
	}

	.bl04_modal-heading-english{
		color: #f7c913;
		font-size: 13px;
		display: block;
		padding-bottom: 10px;
	}

	.bl04_modal-body{
		margin-top: 20px;
	}

	.bl04_modal-text{
		font-size: 14px;
		line-height: 1.6;
	}


	#block04 .txt_small {
		line-height: 130%;
	}
	#block05 .bl05_inner {
		padding: 20px;
		width: 920px;
		position: relative;
		z-index: 1;
		background-color: #EEEEEE;
		margin-bottom: 40px;
	}
	#block05 .bl05_inner .bl05_companies {
		width: 920px;
		position: relative;
	}
	.bl05_inner .bl05_companies dt {
		float: left;
		height: 219px;
		width: 133px;
	}
	#block05 .bl05_inner .bl05_companies dd {
		background-color: #FFF;
		float: right;
		height: 189px;
		width: 757px;
		padding: 15px;
		font-size: 11px;
	}
	#block05 {
		margin-bottom: 66px;
	}

	#block05 .bl06_inner {
		background-color: #000;
		width: 960px;
		position: relative;
		z-index: 1;
	}
	#block05 .bl06_inner li {
		height: 470px;
		width: 480px;
	}
	#block06 .bl06_inner {
		background-color: #000;
		width: 960px;
		position: relative;
		z-index: 1;
	}
	#block07 .bl07_inner {
		width: 960px;
		margin-bottom: 40px;
		position: relative;
		z-index: 1;
	}
	#block07 .bl07_inner .bl07_box {
		height: auto;
		width: 470px;
	}
	#block07 .bl07_inner h4 {
		font-size: 16px;
		font-weight: bold;
		margin-bottom: 10px;
	}
	#block07 .bl07_inner dl dt {
		font-size: 14px;
		font-weight: bold;
		color: #FFF;
		background-color: #333333;
		padding-top: 3px;
		padding-bottom: 3px;
		padding-left: 5px;
		margin-bottom: 10px;
	}
	#pagetop {
		text-align: center;
		height: 60px;
		width: 60px;
		position: fixed;
		z-index: 100;
		right: 20px;
		bottom: 20px;
	}
	#pagetop img {
		width: 100%;
		height: auto;
	}
	#pagetop a {
		transition: all .6s;
	}
	#pagetop a:hover {
		opacity:0.5;
	}

	/* modal */

	.modal{
		position: fixed;
		visibility: hidden;
		pointer-events: none;
		z-index: -1;
		opacity: 0;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		transition-property: opacity, visibility, z-index;
		transition-duration:0.3s;
		transition-timing-function: ease-out;
		transition-delay: 0s;
	}
	.modal-inner{
		position: absolute;
		top: 50%;
		transform: translate(-50%,-50%);
		left: 50%;
		/* right: 0; */
		margin: 0 auto;
		display: table;
		z-index: 1;
	}
	.modal.is-show{
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		z-index: 100;
	}

	.modal::after{
		content: "";
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 0;
		background-color: rgba(0,0,0,0.9);
	}

	.is-modal-show{
		overflow: hidden;
	}

	.modal-close{
		position: absolute;
		top: 0;
		right: 0;
		background-color: transparent;
		border: none;
		text-align-last: left;
		padding: 10px;
		cursor: pointer;
	}

	.modal-close svg{
		pointer-events: none;
		/* event.target でsvg要素を拾わせないため */
		display: block;
		width: 14px;
		height: 14px;
	}
}

@media screen and (max-width: 767px) {
	body {
		margin: 0px;
		padding: 0px;
	}
	
	html, body, div, span, applet, object, iframe,
	h1, h2, h3, h4, h5, h6, p, blockquote, pre,
	a, abbr, acronym, address, big, cite, code,
	del, dfn, em, img, ins, kbd, q, s, samp,
	small, strike, strong, sub, sup, tt, var,
	b, u, i, center,
	dl, dt, dd, ol, ul, li,
	fieldset, form, label, legend,
	table, caption, tbody, tfoot, thead, tr, th, td,
	article, aside, canvas, details, embed, 
	figure, figcaption, footer, header, hgroup, 
	menu, nav, output, ruby, section, summary,
	time, mark, audio, video {
		margin: 0px;
		padding: 0px;
		border: 0px;
		vertical-align:baseline;
		background:transparent;
	}
	
	ol, ul {
		list-style: none;
	}
	
	a {
		text-decoration: normal;
	}
	
	div, article, aside, canvas,details, figcaption, figure,
	footer, header, hgroup, menu, nav, section, summary {
		display:block;
	}
	
	blockquote, q {
		quotes:none;
	}
	
	blockquote:before, blockquote:after,
	q:before, q:after {
		content:'';
		content:none;
	}
	table {
		border-collapse:collapse;
		border-spacing:0;
	}
	input, select {
		vertical-align:middle;
	}
	
	.left {
		float: left;
	}
	.right {
		float: right;
	}
	
	.clearfix:after{
	   content: ".";
	   display: block;
	   clear: both;
	   height: 0;
	   visibility: hidden;
	}
	.clearfix { display: inline-block; }
	/* exlude MacIE5 \*/
	* html .clearfix { height: 1% }
	.clearfix {display:block;}
	/* end MacIE5 */
	
	.txt_img {
		text-indent: -9999px;
		overflow: hidden;
	}
	
	/*---- 汎用クラス --------------------------------------*/
	table {
		border-collapse: collapse;	
	}
	table tr td {
		vertical-align: middle;
	}
	.center {
		text-align: center;
	}
	.f_left{
		float: left;
	}
	.f_right{
		float: right;
	}
	.border_R {
		border-right: solid 1px #666666;
	}
	.border_B {
		border-bottom: solid 1px #999999;
	}
	.pB_5 {
		padding-bottom: 5px;
	}
	.pB_10 {
		padding-bottom: 10px;
	}
	.pB_15 {
		padding-bottom: 15px;
	}
	.pB_20 {
		padding-bottom: 20px;
	}
	.pB_25 {
		padding-bottom: 25px;
	}
	.mB_5 {
		margin-bottom: 5px;
	}
	.mB_10 {
		margin-bottom: 10px;
	}
	.mB_15 {
		margin-bottom: 15px;
	}
	.mB_20 {
		margin-bottom: 20px;
	}
	.mB_25 {
		margin-bottom: 25px;
	}
	.mB_30 {
		margin-bottom: 30px;
	}

	/*---- 汎用クラスEND --------------------------------------*/

	html, body {
		width:100%;
		height:auto;
	}

	body {
		font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		font-size: 13px;
		line-height: 140%;
		font-weight: normal;
	}
	img {
		max-width: 100%;
		height: auto;
	}
	.lineH_0 {
		line-height:0 !important;
	}
	.block {
		margin-bottom: 20px;
	}
	.white.background {
		background-color: #ffffff;
	}
	#main_v {
		margin-bottom: 60px;
	}

	#main_v a.cv_btn {
		display: block;
		width: 90%;
		margin-right: auto;
		margin-bottom: 10px;
		margin-left: auto;
	}

	#main_v a.suitable_btn{
		margin-bottom: 15px;
	}
	#anch_box {
		background-color: #000;
		text-align: center;
		padding: 15px;
		position: relative;
		z-index: 1;
		margin-top: -4px;
	}
	ul#anch_box::after {
		content: "";
		display: block;
		border: 40px solid transparent;
		border-top: 40px solid #000;
		position: absolute;
		left: 50%;
		bottom: -80px;
		margin-left: -40px;
	}
	#anch_box li {
		display: inline-block;
		height: auto;
		padding: 5px;
		width: 45%;
	}
	#anch_box li a {
		display: inline-block;
		padding: 0.8em 1.2em 0.8em 1.2em;
		border: 1px solid #F7C913;
	}
	#block01 .job {
		margin-bottom: 20px;
	}

	#block01 .job li {
		line-height: 0px;
		display: inline-block;
		width: 50%;
	}
	#block01 .job li img {
		vertical-align: middle;
	}
	.cv_area.isSp {
		display: block!important;
		width: 90%;
		margin-right: auto;
		margin-left: auto;
		text-align: center;
	}
	#block02 .bl02_inner {
		background-color: #FEF8DE;
		height: auto;
		width: 100%;
		padding-top: 30px;
		padding-bottom: 10px;
		position: relative;
		z-index: 1;
		margin-bottom: 20px;
		margin-top: -4px;
	}
	#block02 .bl02_inner dl {
		padding: 5%;
		width: 93%;
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 30px;
		background-color: #FFF;
		box-shadow: 2px 2px 0px #AC9A50;
	}
	#block02 .bl02_inner dl dt {
		margin-top: -10%;
	}

	#block02 .bl02_inner .credit{
		font-size: 80%;
		margin-bottom: 5px;
		text-align: right;
		line-height: 1.3;
	}

	#block03 .bl03_inner {
		background-color: #EEEEEE;
		padding-top: 20px;
		padding-right: 10px;
		padding-bottom: 10px;
		padding-left: 10px;
		margin-bottom: 20px;
		position: relative;
		z-index: 1;
		margin-top: -4px;
	}
	#block03 .bl03_inner li {
		background-color: #FFF;
		height: 400px;
		width: 49%;
		margin-bottom: 10px;
	}
	.bl03_inner li .collabo_txt {
		padding: 10px;
		font-size: 12px;
		line-height: 1.2em;
	}
	.bl03_inner li .collabo_txt strong {
		display: block;
		height: 40px;
	}
	#block04 .bl05_inner {
		background-color: #000;
		padding-top: 20px;
		padding-right: 10px;
		padding-bottom: 20px;
		padding-left: 10px;
		margin-bottom: 20px;
		margin-top: -5px;
	}
	.bl05_inner .teacher {
		background-color: #FFF;
		padding-top: 10px;
		padding-right: 15px;
		padding-bottom: 10px;
		padding-left: 34%;
		background-repeat: no-repeat;
		background-position: left top;
		background-size: contain;
		font-size: 10px;
		line-height: 1.7em;
		height: 186px;
	}
	.teach01 {
		background-image: url(../img/sp_bl05_img01.jpg);
		margin-bottom: 10px;
	}
	.teach02 {
		background-image: url(../img/sp_bl05_img02.jpg);
		margin-bottom: 10px;
	}
	.teach03 {
		background-image: url(../img/sp_bl05_img03.jpg);
		margin-bottom: 10px;
	}
	.teach04 {
		background-image: url(../img/sp_bl05_img04.jpg);
	}
	.teach05 {
		background-color: #fff;
		margin-bottom: 10px;
	}
	.teach05 .teacher-body{
		padding: 20px 15px;
	}
	.teach05 .teacher-body_text-wrap > * + *{
		margin-top: 15px;
	}
	.teach05 .teacher-body_text{
		font-size: 10px;
	}
	.teach05 .teacher-button{
		margin-top: 15px;
		border: none;
		text-align: left;
		background-color: #000;
		font-size: 12px;
		font-weight: bold;
		color: #f7c913;
		line-height: 38px;
		width: 108px;
		padding-left: 15px;
		position: relative;
	}
	.teach05 .teacher-button::after{
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 4px 0 4px 5px;
		border-color: transparent transparent transparent #f7c913;
		position: absolute;
		right: 15px;
		top: 50%;
		transform: translateY(-50%);
	}

	.bl05_modal{
		background-color: #fff;
		padding: 35px 20px;
		box-sizing: border-box;
	}

	.bl05_modal-heading{
		font-weight: bold;
		font-size: 15px;
	}

	.bl05_modal-heading-english{
		display: block;
		font-size: 10px;
		color: #f7c913;
		letter-spacing: 0.025em;
		padding-bottom: 3px;
	}

	.bl05_modal-body{
		margin-top: 20px;
	}

	.bl05_modal-text{
		font-size: 12px;
		line-height: 1.8;
	}

	#block05 .bl06_inner {
		background-color: #EEEEEE;
		padding-top: 20px;
		padding-right: 10px;
		padding-bottom: 10px;
		padding-left: 10px;
		margin-bottom: 20px;
		position: relative;
		z-index: 1;
		margin-top: -4px;
	}
	#block05 .bl06_inner li {
		background-color: #FFF;
		height: auto;
		width: 49%;
		margin-bottom: 10px;
		height: 280px;
	}
	.bl06_under {
		width: 100% !important;
		height: auto !important;
		clear: both;
		float: none;
	}
	.bl06_inner li .collabo_txt {
		padding: 10px;
		font-size: 12px;
		line-height: 1.2em;
	}

	#block06 > .isSp {
		margin-top: -4px;
	}

	#block07 .bl08_inner {
		padding-top: 20px;
		padding-right: 10px;
		padding-bottom: 10px;
		padding-left: 10px;
	}
	#block07 .bl08_inner h4 {
		font-size: 16px;
		font-weight: bold;
		margin-bottom: 10px;
	}

	#block07 .bl08_inner dl dt {
		font-size: 14px;
		font-weight: bold;
		color: #FFF;
		background-color: #333333;
		padding-top: 3px;
		padding-bottom: 3px;
		padding-left: 5px;
		margin-bottom: 10px;
	}
	#pagetop {
		text-align: center;
		width: 100%;
		margin-bottom: 20px;
	}

	/*--------------------------------------------------
	20180206 追加 願書受付バナー
	--------------------------------------------------*/
	.application-form-banner{
		padding:1.5625vw 0 5.333333vw 0;
	}

	/*--------------------------------------------------------------
	# our-vision
	--------------------------------------------------------------*/
	.our-vision-wrap{
		color:#333;
		padding: calc(90/750 * 100vw) 0;
		background-color: #fff;
	}
	.our-vision-wrap.is-add-border{
		padding-top: 0;
		margin-top: calc(90/750 * 100vw);
	}
	.our-vision{
		width: calc(660/750 * 100vw);
		margin: 0 auto;
	}
	.our-vision-wrap.is-add-border .our-vision{
		border-top: 1px solid #e5e5e5;
		padding-top:calc(90/750 * 100vw);
		}
	
	.our-vision-head{
		width: calc(215/750 * 100vw);
		height: calc(61/750 * 100vw);
	}
	
	.our-vision-body{
		margin-top: calc(20/750 * 100vw);
	}
	
	.our-vision-thum{
		width: 100%;
	}
	
	.our-vision-thum img{
		height: auto;
	}
	.our-vision-text-area{
		margin-top: calc(60/750 * 100vw);
	}
	.our-vision-text-area-heading{
		text-align: left;
		font-size: calc(38/750 * 100vw);
		line-height: 1;
	}
	
	.our-vision-text-wrap{
		margin-top: calc(35/750 * 100vw);
	}
	
	.our-vision-text-wrap > * + * {
		margin-top: calc(15/750 * 100vw);
	}
	
	.our-vision-text{
		text-align: left;
		font-size: calc(24/750 * 100vw);
		line-height: 1.8;
	}

	/* modal */

	.modal{
		position: fixed;
		visibility: hidden;
		pointer-events: none;
		z-index: -1;
		opacity: 0;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		transition-property: opacity, visibility, z-index;
		transition-duration:0.3s;
		transition-timing-function: ease-out;
		transition-delay: 0s;
	}
	.modal-inner{
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: 0;
		right: 0;
		margin: 0 auto;
		display: table;
		z-index: 1;
		width: calc(710/750 * 100%);
	}
	.modal.is-show{
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		z-index: 100;
	}

	.modal::after{
		content: "";
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 0;
		background-color: rgba(0,0,0,0.9);
	}

	.is-modal-show{
		overflow: hidden;
		height: 100%;
	}

	.modal-close{
		position: absolute;
		top: 0;
		right: 0;
		background-color: transparent;
		border: none;
		text-align-last: left;
		padding: 15px;
		cursor: pointer;
	}

	.modal-close svg{
		pointer-events: none;
		/* event.target でsvg要素を拾わせないため */
		display: block;
		width: 12px;
		height: 12px;
	}
	
}

@media screen and (max-width: 767px) {
	.isSp {
		display: inline-block;
	}

	.isPc {
		display: none;
	}
}

@media screen and (min-width: 768px) {
	.isPc {
		display: inline-block;
	}

	.isSp {
		display: none;
	}
}