/* CSS Document */

@charset "UTF-8";

header {
	margin: 0;
	position: relative;
}
@media only screen and (max-width: 769px) {
header {
	/*transform:translate3d(0,0,0);*/
	/*-webkit-perspective: 500px;
	perspective: 500px;*/
}
}

/*header h1 {
	border: 1px solid #F00;
	position: absolute;
	top: 1vh;
	left: 1vw;
	z-index: 1;
	width: 50vw;
	height: 2vh;
}*/

header h1 {
	/*border: 1px solid #F00;*/
	position: fixed !important; /* absolute から fixed に変更 */
	top: 0;
	left: 0;
	z-index: 99999;
	width: 18vw;
	height: 3vw;
	/*height: 0;*/
	/*text-indent: -10000px;*/
	/*padding-top: 5vh;*/
	margin-top: 1.5%;
	margin-left: 2vw;
	/*background: url("../img/top/h2_mes.svg") 0 0 no-repeat;*/
	background-image:url("../img/common/logo.svg");
	background-repeat: no-repeat;
    background-size: 100%;
    overflow: hidden;
	filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.8));
	/*opacity: 0.5;*/
	/*background-color:rgba(255,255,255,0.8);
	background-blend-mode:lighten;*/
}
header h1 span {
	display: block;
	text-indent: -10000px;
}
@media (orientation: portrait) and (max-width: 769px){
header h1 {
	/*border: 1px solid #F00;*/
	margin-top: 2vw !important;
	width: 40vw; /*40vw*/
	height: 8vw; /*8vw*/
	/*margin-top: -8%;*/
	margin-left: 2vw;
}
}
@media (orientation: landscape) and (max-width: 769px){
header h1 {
	width: 40vw;
	/*margin-top: 0;*/
	margin-top: 2vw !important;
	margin-left: 2vw;
}
}


header h2 {
    position: absolute;
    top: 70%;          /* 上から50%の位置（適宜調整） */
    left: 6vw;         /* 左端からの距離 */
    margin: 0;         /* autoを解除 */
    z-index: 1;
    width: 40vw;
    height: 0;
    padding-top: 20vh;
    background-image: url("../img/top/h2_main.svg");
    background-repeat: no-repeat;
    background-size: 100%;
    
    /* 追加：左から0%、下から40%の位置に配置 */
    /*background-position: left 0% bottom 40%;*/
    
    overflow: hidden;
}
@media (orientation: portrait) and (max-width: 769px){
header h2 {
	top: 50%;
	width: 80vw;
	margin: auto !important;
	/*opacity: inherit;*/
	background-image: url("../img/top/h2_main.svg");
}
}
@media (orientation: landscape) and (max-width: 769px){
header h2 {
	bottom: 30%;
	width: 80vw;
	padding-top: 25vh;
	background-image: url("../img/top/h2_main.svg");
}
}

header h3 {
  position: absolute;
  height: 0;
  margin: 0;
  overflow: hidden;
}
@media (orientation: portrait) and (max-width: 769px){
header h3 {
	position: relative;
	height: auto !important;
}
}
header h3 span {
	display: block;
	text-indent: -10000px;
}
/*_::-webkit-full-page-media, _:future, :root header h3 {
	color: red;
	top: 18%;
}*/

header #main {
	/*border: 10px solid #000;*/
	width:100%;
	height:100vh;
	margin:auto;
	display:inline-block;
	display:block;
	/*display: flex;*/
	background-color: transparent;
	/*transform:skewY(-9deg);*/
	/*transform:translateY(-9%);*/
	overflow:hidden;
	/*position: absolute;
	top: 0;
	right: 0;*/
}
@media (orientation: portrait) and (max-width: 769px) {
header #main {
        margin: 0 !important;
        padding: 0 !important;
	/*margin-top: 5% !important;*/
	/*-webkit-transform: skew(0deg,351deg);
	transform:skew(0deg,351deg);*/
	/*transform: rotateX(0deg) rotateY(0deg) rotateZ(-9deg);
	-webkit-transform: rotateX(0deg) rotateY(0deg) rotateZ(-9deg);*/
	
	/*-webkit-transform: rotate(-9deg);
	transform: rotate(-9deg);*/
	
	transform: none;
	
	/*-webkit-transform: rotateY(-9deg) translateZ(1px);
	transform:rotateY(-9deg) translateZ(1px);*/
	/*transform:translate3d(0,0,0);*/
	height:70vh;
	text-align: center;
	/*-webkit-perspective: 500px;
	perspective: 500px;*/
}
}
@media (orientation: landscape) and (max-width: 769px) {
header #main {
        margin: 0 !important;
        padding: 0 !important;
	/*margin-top: 5% !important;*/
	/*-webkit-transform: skew(0deg,351deg);
	transform:skew(0deg,351deg);*/
	/*transform: rotateX(0deg) rotateY(0deg) rotateZ(-9deg);
	-webkit-transform: rotateX(0deg) rotateY(0deg) rotateZ(-9deg);*/
	
	/*-webkit-transform: rotate(-9deg);
	transform: rotate(-9deg);*/
	
	transform: none;
	
	/*-webkit-transform: rotateY(-9deg) translateZ(1px);
	transform:rotateY(-9deg) translateZ(1px);*/
	/*transform:translate3d(0,0,0);*/
	height:80vh;
	text-align: center;
	/*-webkit-perspective: 500px;
	perspective: 500px;*/
}
}
@media screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation:portrait) {
header #main {
	/*opacity: 0.5;*/
	height:50vh;

}
}
@media screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation:landscape) {
header #main {
	height:80vh;

}
}

/*header #main img {
	width:auto;
	height:140%;
	min-width: 100%;
	min-height: 100%;
	transform: skewY(9deg);
	object-fit: contain;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}*/
header #main img {
    width: 100%;
    /*height: 140%;*/
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    /*transform: translate(-50%, -50%) skewY(9deg);*/
    object-fit: cover;
	object-position: top;
}
/*header #main img {
	width:auto;
	height:140%;
	min-width: 100%;
	min-height: 100%;
	transform: skewY(9deg);
	object-fit: contain;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}*/
@media screen and (min-device-width: 768px) and (max-device-width: 1024px) {
header #main img {
	/*opacity: 0.5;*/
    width: 100%;
    /*height: 140%;*/
    height: 100%;
    position: absolute;
	transform: none;
    /*top: 50%;
    left: 50%;*/
    /*transform: translate(-50%, -50%) skewY(9deg);*/
	/*-webkit-transform: rotate(9deg);
	transform: rotate(9deg);	*/
    /*transform: translate(-50%, -50%) skewY(9deg);*/
    object-fit: cover;
	/*overflow:hidden;*/
}
}

@media (orientation: portrait) and (max-width: 769px){
header #main img {
	/*border: 10px solid #000;*/
	/*transform:skewY(9deg);*/
	/*-webkit-transform: rotate(9deg);
	transform: rotate(9deg);*/
	transform: none;
	object-fit: cover;
	/*object-position: 50% 50%;*/
    width: 100%;
    /*height: 140%;*/
    height: 100%;
	overflow:hidden;
/*	top: 0;
	right: 0;
	bottom: 0;
	left:0;*/
	margin: auto;
}
}
@media (orientation: landscape) and (max-width: 769px){
header #main img {
	/*border: 10px solid #000;*/
	/*border: 10px solid #000;*/
	/*transform:skewY(9deg);*/
	transform: none;
	object-fit: cover;
	/*object-position: 50% 50%;*/
    width: 100%;
    /*height: 140%;*/
    height: 100%;
	overflow:hidden;
	/*top: 0;
	right: 0;
	bottom: 0;
	left:0;*/
	margin: auto;
}
}

main {
}

main .wrap {
	position: relative;
	/*border: 10px solid #000;*/
	width: 100%;
	margin: 0 !important;
	z-index: 10;
}

.wrap2a {
	margin: 0 !important;
	background-image:url("../img/top/main02.jpg");
	overflow: hidden;
	background-position: center;
}

.contents2 {
	width: 50vw;
	margin: auto !important;
}
@media (orientation: portrait) and (max-width: 769px){
.contents2  {
	width: 90vw;
}
}

.contents2 h2 {
	/*border: 10px solid #F00;*/
	margin: 8vw auto 6vw auto;
	width: 30vw; /*calc*/
	/*height: 0;
	padding-top: 14%;*/
	aspect-ratio: 1 / 0.24;
	/*margin-bottom: -4vh;*/
	background-image:url("../img/top/h2_mes.svg");
	background-repeat: no-repeat;
    background-size: cover; /*cover*/
    /*overflow: hidden;*/
}
@media (orientation: portrait) and (max-width: 769px){
.contents2 h2 {
	/*border: 1px solid #F00;*/
	width: 60vw; /*calc*/
	margin: 15vw auto 10vw auto;
}
}
@media (orientation: landscape) and (max-width: 769px){
.contents2 h2 {
	width: 60vw; /*calc*/
	margin: 15vw auto 10vw auto;
	/*padding-top: 30vh;*/
}
}
.contents2 h2 span {
	display: block;
	text-indent: -10000px;
}

.contents2 {
	margin: 0em 6vw 4em 6vw; /* 0em 20vw 4em 20vw */
	margin-bottom: 0 !important;
}
@media only screen and (max-width: 769px) {
.contents2 {
	margin: 0em 2vw 4em 2vw;
	margin-bottom: 0 !important;
}
}

/*.contents2 h2 {
	margin: 6vw auto auto auto;
	z-index: 1;
	width: 20vw;
	height: 8vw;
	background-image:url("../img/top/h2_message.svg");
	background-repeat: no-repeat;
    background-size: 100%;
    overflow: hidden;
	clear: both;
}
@media only screen and (max-width: 769px) {
.contents2 h2 {
	margin: 6vw auto auto auto;
	width: 50vw; 
	height: 20vw;
}
}
.contents2 h2 span {
	display: block;
	text-indent: -10000px;
}*/

.contents2 h3 {
	/*border: 1px solid #F00;*/
	margin: auto;
	font-size: 1.4em;
	text-align: center;
}
.contents2 h3 strong {
	font-size: 160%;
}

.contents2 p {
	/*font-size: 1.3em;*/
	line-height: 180%;
}
@media only screen and (max-width: 769px) {
.contents2 h3 {
	font-size: 1.0em;
}
.contents2 p {
	font-size: 0.9em;
	padding-left: 1.0em;
	padding-right: 1.0em;
}
}

.wrap2a .morelink {
	margin: 4vw auto 6vw auto !important;
}
@media only screen and (max-width: 769px) {
.wrap2a .morelink {
	margin: 10vw auto 12vw auto !important;
}}

/* =========================
   OUTLINE
========================= */

.wrap3a {
	position: relative;
	margin: 0 !important;
	margin-top: -22px !important;
	background: url("../img/top/main03.jpg") center center / cover no-repeat;
	overflow: hidden;
}

.wrap3a::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(20, 35, 60, 0.35);
	z-index: 0;
}

.contents3 {
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 3vw;
	padding: 3.5vw 8vw 4vw;
	min-height: 0;
	box-sizing: border-box;
}

/* 左カラム */
.contents3__title-area {
	flex: 0 0 42%;
	padding-top: 3vw;
}

.h2_outline {
	margin: 0;
	width: 100%;
	max-width: 520px;
	aspect-ratio: 520 / 220;
	background: url("../img/top/h2_outline.svg") no-repeat center / contain;
}
@media (orientation: portrait) and (max-width: 769px){
.h2_outline {
	background: url("../img/top/h2_outline_sp.svg") no-repeat center / contain;
	/*border: 1px solid #F00;*/
	/*width: 60vw;
	margin: 15vw auto 10vw auto;*/
}
}
@media (orientation: landscape) and (max-width: 769px){
.h2_outline {
	background: url("../img/top/h2_outline_sp.svg") no-repeat center / contain;
	/*width: 60vw;
	margin: 15vw auto 10vw auto;*/
	/*padding-top: 30vh;*/
}
}

.h2_outline span,
.h3_rinen span,
.h3_mokuhyo span,
.morelink span {
	display: block;
	height: 0;
	overflow: hidden;
	text-indent: -9999px;
	white-space: nowrap;
}

/* Read more */
/*.morelink {
	margin-top: 2vw;
	width: 320px;
	max-width: 100%;
}

.morelink a {
	display: block;
	width: 100%;
	aspect-ratio: 320 / 78;
	background: url("../img/top/btn_readmore.svg") no-repeat center / contain;
}*/

/* 右カラム */
.contents3__text-area {
	flex: 0 0 44%;
	padding-top: 0.5vw;
}

.contents3in {
	background: rgba(255, 255, 255, 0.82);
	/*padding: 1.2vw 1.5vw;*/
	padding: 0vw 1.5vw;
	box-sizing: border-box;
}

.contents3in + .contents3in {
	margin-top: 1.2vw;
}


/* h3 をSVG化 */
.h3_rinen,
.h3_mokuhyo {
	/*border: 1px solid #F00;*/
	margin: 0 0 0.5vw 0;
	width: 100%;
	background-repeat: no-repeat;
	background-position: left top;
	background-size: contain;
}

/* 経営理念 */
.h3_rinen {
	aspect-ratio: 760 / 150;
	background-image: url("../img/top/h2_outline_in01.svg");
}

/* 経営目標 */
.h3_mokuhyo {
	aspect-ratio: 760 / 180;
	background-image: url("../img/top/h2_outline_in02.svg");
}
@media (orientation: portrait) and (max-width: 769px){
/* 経営理念 */
.h3_rinen {
	/*border: 1px solid #F00;*/
	background-size: 70%;
	aspect-ratio: 200 / 56 !important;
	background-image: url("../img/top/h2_outline_in01_sp.svg");
}

/* 経営目標 */
.h3_mokuhyo {
	/*border: 1px solid #F00;*/
	background-size: 100%;
	aspect-ratio: 282 / 117 !important;
	background-image: url("../img/top/h2_outline_in02_sp.svg");
}
}

@media (orientation: landscape) and (max-width: 769px){
.h3_rinen {
	aspect-ratio: 208 / 80;
	background-image: url("../img/top/h2_outline_in01_sp.svg");
}

/* 経営目標 */
.h3_mokuhyo {
	aspect-ratio: 390 / 88;
	background-image: url("../img/top/h2_outline_in02_sp.svg");
}
}


.eng {
	margin: 0;
	font-size: 1.0vw;
	line-height: 1.45;
	color: #333;
	font-weight: 500;
}

/* =========================
   Tablet
========================= */
@media only screen and (max-width: 1200px) {
	.contents3 {
		gap: 2.5vw;
		padding: 4.5vw 5vw;
		min-height: 0;
	}

	.contents3__title-area {
		flex-basis: 40%;
		padding-top: 2vw;
	}

	.contents3__text-area {
		flex-basis: 46%;
		padding-top: 0.5vw;
	}

	/*.morelink {
		width: 260px;
		margin-top: 2vw;
	}*/

	.contents3in {
		padding: 1.5vw 1.6vw;
	}

	.contents3in + .contents3in {
		margin-top: 1.5vw;
	}

	.h3_rinen,
	.h3_mokuhyo {
		margin-bottom: 0.6vw;
	}

	.eng {
		font-size: 1.25vw;
		line-height: 1.5;
	}
}

/* =========================
   Smartphone
========================= */
@media only screen and (max-width: 769px) {
	.contents3 {
		display: block;
		padding: 0 4vw 9vw;
		min-height: auto;
	}

	.contents3__title-area,
	.contents3__text-area {
		width: 100%;
		padding-top: 0;
	}

	.h2_outline {
		width: 56vw;
		max-width: none;
		margin: 0 auto;
		aspect-ratio: 520 / 220;
	}

	/*.morelink {
		width: 58vw;
		margin: 4vw auto 6vw;
	}*/

	.contents3__text-area {
		padding-top: 0;
	}

	.contents3in {
		padding: 0 4vw;
	}

	.contents3in + .contents3in {
		margin-top: 3vw;
	}

	.h3_rinen,
	.h3_mokuhyo {
		margin-bottom: 2vw;
	}

	.h3_rinen {
		aspect-ratio: 760 / 150;
	}

	.h3_mokuhyo {
		aspect-ratio: 760 / 180;
	}

	.eng {
		font-size: 3.2vw;
		line-height: 1.5;
	}
}


.contents3__text-area .morelink {
	margin-top: 3em !important;
	margin-bottom: 0 !important;
}

/* =========================
   FACILITIES / INTERVIEW
========================= */

.wrap4aout {
	width: 100%;
	background:
	radial-gradient(circle, rgba(0, 70, 180, 0.08) 1px, transparent 1px);
	background-size: 12px 12px;
	background-color: #f8f8f8;
}

.wrap4a {
	max-width: 1200px;   /* ←ここが効く */
	margin: 0 auto;
	padding: 6vw 4vw 7vw; /* 左右余白を確保 */
	overflow: hidden;
}

.wrap4a .contents4 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 3vw;
	margin: 0 0 5vw 0;
}
@media only screen and (max-width: 769px) {
.wrap4a .contents4 {
	margin: 0 !important;
}
}

.wrap4a .contents4:last-child {
	margin-bottom: 0;
}

/* 上段：画像左、文右 */
.wrap4a .contents4:nth-of-type(1) .contents4__img-area {
	flex: 0 0 60%;  /* ←大きくする */
}

/* 上段：文右 */
.wrap4a .contents4:nth-of-type(1) .contents4__title-area {
	flex: 0 0 36%;
}

/* 下段：文左 */
.wrap4a .contents4:nth-of-type(2) .contents4__title-area {
	flex: 0 0 32%;
}

/* 下段：画像右 */
.wrap4a .contents4:nth-of-type(2) .contents4__img-area {
	flex: 0 0 64%;
}

/* -------------------------
   タイトル・本文
------------------------- */

.contents4__title-area {
	box-sizing: border-box;
}

.contents4__title-area h2 {
	margin: 0 0 1.4vw 0;
	background-repeat: no-repeat;
	background-position: left top;
	background-size: contain;
}

.contents4__title-area h2 span,
.contents4 .morelink span {
	display: block;
	height: 0;
	overflow: hidden;
	text-indent: -9999px;
	white-space: nowrap;
}

/* 1つ目：FACILITIES */
.contents4:nth-of-type(1) .h2_fac {
	width: 100%;
	max-width: 520px;
	aspect-ratio: 520 / 180;
	background-image: url("../img/top/h2_fac.svg");
}

/* 2つ目：INTERVIEW
   HTMLは h2_fac のままでも nth-of-type で分けられます */
.contents4:nth-of-type(2) .h2_fac {
	width: 100%;
	max-width: 520px;
	aspect-ratio: 360 / 130;
	background-image: url("../img/top/h2_interview.svg");
}

@media only screen and (max-width: 769px) {
	.contents4:nth-of-type(1) .h2_fac {
		aspect-ratio: 306 / 127;
		background-image: url("../img/top/h2_fac_sp.svg");
		background-position: center center;
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 1em;
	}

	/* 2つ目：INTERVIEW
	   HTMLは h2_fac のままでも nth-of-type で分けられます */
	.contents4:nth-of-type(2) .h2_fac {
		/*border: 1px solid #F00;*/
		aspect-ratio: 262 / 68;
		background-image: url("../img/top/h2_interview_sp.svg");
		background-position: center center;
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 1em;
	}
}

.contents4 .jpn {
	margin: 0 0 1vw 0;
	font-size: 1.05vw;
	line-height: 1.9;
	color: #111;
	font-weight: 700;
}

.contents4 .eng {
	margin: 0;
	font-size: 0.82vw;
	line-height: 1.7;
	color: #222;
	font-weight: 500;
}


/* -------------------------
   画像エリア
------------------------- */

.contents4__img-area img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* 上段のコラージュ画像 */
.contents4:nth-of-type(1) .contents4__img-area img {
width: 100%;
	max-width: none; /* ←これ重要 */
}

/* 下段の2名画像 */
.contents4:nth-of-type(2) .contents4__img-area {
	display: flex;
	gap: 2vw;
	justify-content: flex-start;
	align-items: flex-end;
}

.contents4:nth-of-type(2) .contents4__img-area a {
	display: block;
	width: calc(50% - 1vw);
}

.contents4:nth-of-type(2) .contents4__img-area img {
	width: 100%;
}

.contents4__title-area:nth-of-type(1) .morelink {
	margin-top: 3em !important;
	margin-bottom: 3em !important;
}
.contents4__title-area:nth-of-type(2) .morelink {
	margin-top: 2em !important;
	margin-bottom: 3em !important;
}

/* =========================
   Tablet
========================= */
@media only screen and (max-width: 1200px) {
	.wrap4a {
		padding: 6vw 4vw 7vw;
	}

	.wrap4a .contents4 {
		gap: 3vw;
		margin-bottom: 6vw;
	}

	.wrap4a .contents4:nth-of-type(1) .contents4__img-area {
		flex-basis: 50%;
	}

	.wrap4a .contents4:nth-of-type(1) .contents4__title-area {
		flex-basis: 44%;
	}

	.wrap4a .contents4:nth-of-type(2) .contents4__title-area {
		flex-basis: 36%;
	}

	.wrap4a .contents4:nth-of-type(2) .contents4__img-area {
		flex-basis: 58%;
	}

	.contents4 .jpn {
		font-size: 1.35vw;
	}

	.contents4 .eng {
		font-size: 1.05vw;
	}

}

/* =========================
   Smartphone
========================= */
@media only screen and (max-width: 769px) {
	.wrap4a {
		padding: 0vw 4vw 10vw;
		background-size: 10px 10px;
	}

	/*.wrap4a .contents4,
	.wrap4a .contents4:nth-of-type(2) {
		display: block;
		margin-bottom: 10vw;
	}

	.wrap4a .contents4:last-child {
		margin-bottom: 0;
	}

	.contents4__title-area,
	.contents4__img-area {
		width: 100% !important;
	}

	.contents4:nth-of-type(1) .contents4__img-area {
		margin-bottom: 5vw;
		text-align: center;
	}

	.contents4:nth-of-type(1) .contents4__img-area img {
		width: 92%;
		max-width: none;
		margin: 0 auto;
	}

	.contents4:nth-of-type(2) .contents4__title-area {
		margin-bottom: 5vw;
	}

	.contents4:nth-of-type(2) .contents4__img-area {
		display: flex;
		gap: 3vw;
	}

	.contents4:nth-of-type(2) .contents4__img-area a {
		width: calc(50% - 1.5vw);
	}*/

    .wrap4a .contents4 {
		display: flex;             /* block から flex に変更 */
		flex-direction: column;    /* 基本は縦並び */
		margin-bottom: 10vw;
	}

	/* 1段目（FACILITIES）のみ順番を反転させる */
	.wrap4a .contents4:nth-of-type(1) {
		flex-direction: column-reverse;
	}

	/* 2段目（INTERVIEW）は元々タイトルが上なので、そのまま */
	.wrap4a .contents4:nth-of-type(2) {
		display: flex;
		flex-direction: column;
		align-items: center !important;
	}

	/* 余白の調整（画像と文の間の隙間） */
	.contents4:nth-of-type(1) .contents4__img-area {
		margin-bottom: 0;   /* 下に回るので、元の margin-bottom を消す */
		margin-top: 5vw;    /* 代わりに上に余白を作る */
		text-align: center;
	}

	.contents4:nth-of-type(2) .contents4__title-area {
		margin-bottom: 5vw; /* 2段目用の隙間 */
	}
	
	/* top.css 574行目付近（スマホ用メディアクエリ内） */
	.contents4:nth-of-type(2) .contents4__img-area {
		display: flex !important;
		flex-direction: row !important;      /* 横並びを維持 */
		justify-content: center !important;  /* 【重要】中央に寄せる */
		width: 100% !important;              /* 【重要】コンテナを横幅いっぱいにする */
		gap: 4vw !important;
		margin: 0 auto !important;
	}

	.contents4:nth-of-type(2) .contents4__img-area a {
		width: 42vw !important;              /* 画像2枚が並ぶよう幅を調整 */
		display: block !important;
	}

	.contents4:nth-of-type(1) .h2_fac {
		max-width: none;
		width: 82vw;
	}

	.contents4:nth-of-type(2) .h2_fac {
		max-width: none;
		width: 62vw;
	}

	.contents4 .jpn {
		font-size: 3.6vw;
		line-height: 1.8;
		margin-bottom: 3vw;
	}

	.contents4 .eng {
		font-size: 2.7vw;
		line-height: 1.7;
	}
	
	.contents4__img-area:nth-of-type(1) .morelink {
		/*border: 1px solid #F00 !important;*/
		margin-top: 1.5em !important;
		margin-bottom: 2em !important;
	}
	.contents4:nth-of-type(2) .morelink.sp {
		/*border: 1px solid #F00 !important;*/
		margin-top: 1.5em !important;
		margin-bottom: 2em !important;
	}
	
	.footer__contact-title {
		margin-bottom: 1em;
	}

}



















/* =========================
   ボタンの左寄せ調整
========================= */

/* 1. OUTLINE（学園概要）セクション */
.contents3__title-area .morelink {
    margin-left: 0 !important;
    margin-right: auto !important;
}

/* 2. FACILITIES（施設設備） & INTERVIEW（教員インタビュー）セクション */
.contents4__title-area .morelink {
    margin-left: 0 !important;
    margin-right: auto !important;
}

/* スマホ表示でも左寄せを維持、または微調整したい場合 */
@media only screen and (max-width: 769px) {
    .contents3__title-area .morelink,
    .contents4__title-area .morelink {
        margin-left: auto !important;
        margin-right: auto !important;
        /* タイトル画像と完全にツラを合わせる場合、タイトルのmarginに合わせて調整 */
    }
}