@charset "utf-8";

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 daigakuHeader 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.daigakuHeader { position: relative; overflow: hidden; max-width: 1400px; background: url(../images/main_header1.jpg) no-repeat center top; background-size: 1400px 560px; padding-top: 655px; margin-right: auto; margin-left: auto; }
.daigakuHeader .headerTitle { font-size: 0; line-height: 0; margin-bottom: 15px; }
.daigakuHeader .headerAnchor { position: absolute; top: 0; right: 0; left: -730px; margin: 420px auto 0; }
.daigakuHeader .headerAnchor { width: 350px; }
.daigakuHeader .headerAnchor a { display: block; background-size: cover; font-size: 0; line-height: 0; padding-top: 170px; }
.daigakuHeader .headerAnchor.anchorType1 a { background-image: url(../images/main_header_anchor1.png); }
.daigakuHeader .headerAnchor.anchorType2 a { background-image: url(../images/main_header_anchor2.png); }
.daigakuHeader .headerAnchor.anchorType3 a { background-image: url(../images/main_header_anchor3.png); }
.daigakuHeader .headerCom { position: absolute; top: 0; right: -690px; left: 0; width: 410px; margin: 575px auto 0; }
.daigakuHeader .headerCom a { position: relative; display: block; background-color: #27432d; border-radius: 38px; font-family: "Yu Mincho", "YuMincho"; font-size: 2rem; line-height: 4rem; color: #ffffff; font-weight: 700; text-align: center; text-decoration: none; padding: 20px; }
.daigakuHeader .headerCom a::after { position: absolute; top: 0; right: 0; bottom: 0; display: block; width: 35px; height: 35px; border: solid 1px #ffffff; border-radius: 50%; content: ""; margin: auto 20px auto 0; }
.daigakuHeader .headerCom a span { position: relative; display: block; }
.daigakuHeader .headerCom a span::before,
.daigakuHeader .headerCom a span::after { position: absolute; top: -1px; bottom: 0; display: block; content: ""; margin-top: auto; margin-bottom: auto; }
.daigakuHeader .headerCom a span::before { right: 10px; width: 15px; height: 15px; border: solid #ffffff; border-width: 0 1px 1px 0; transform: rotate(-45deg); }
.daigakuHeader .headerCom a span::after { right: 8px; width: 20px; height: 1px; background-color: #ffffff; }

@media screen and (max-width: 1200px) {
	.daigakuHeader { background-size: 116.7% auto; padding-top: calc( 655 / 1200 * 100% ); }
	.daigakuHeader .headerAnchor { right: auto; left: 0; width: calc( 350 / 1200 * 100% ); margin: calc( 420 / 1200 * 100% ) 0 0 calc( 60 / 1200 * 100% ); }
	.daigakuHeader .headerAnchor a { padding-top: calc( 170 / 350 * 100% ); }
	.daigakuHeader .headerCom { right: 0; left: auto; width: 360px; margin: calc( 575 /1200 * 100% ) calc( 50 / 1200 * 100% ) 0 0; }
	.daigakuHeader .headerCom a { font-size: 1.8rem; line-height: 3.3333333333333335vw; text-align: left; padding-left: 30px; }
}

@media screen and (min-width: 821px) {
	.daigakuHeader .headerAnchor a { transition: 0.3s ease; }
	.daigakuHeader .headerAnchor a:hover { margin-top: 10px; }
	.daigakuHeader .headerCom a { transition: 0.2s ease; }
	.daigakuHeader .headerCom a:hover { opacity: 0.8; }
}

@media screen and (max-width: 767px) {
	.daigakuHeader { background-image: none; max-width: 500px; padding-top: 0; }
	.daigakuHeader .headerTitle { background-image: url(../images/main_header2.jpg); background-size: cover; padding-top: calc( 320 / 500 * 100% ); margin-bottom: 0; }
	.daigakuHeader .headerAnchor { right: auto; left: 0; width: calc( 175 / 375 * 100% ); margin: calc( 144 / 375 * 100% ) 0 0 calc( 20 / 375 * 100% ); }
	.daigakuHeader .headerAnchor a { padding-top: calc( 85 / 175 * 100% ); }
	.daigakuHeader .headerCom { position: static; width: 100%; margin: 0; }
	.daigakuHeader .headerCom a { border-radius: 0; font-size: 1.5rem; line-height: 2rem; text-align: center; padding: 15px 20px; }
	.daigakuHeader .headerCom a::after { width: 30px; height: 30px; }
	.daigakuHeader .headerCom a span::before { right: 9px; width: 12px; height: 12px; }
	.daigakuHeader .headerCom a span::after { right: 8px; width: 15px; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 daigakuMain 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.daigakuMain { font-size: 1.7rem; line-height: 3.2rem; font-feature-settings: "palt"; padding: 60px calc( 50 / 1100 * 100% ) 150px; }
.daigakuMain .mainInner { max-width: 1100px; margin-right: auto; margin-left: auto; }

@media screen and (max-width: 767px) {
	.daigakuMain { font-size: 1.6rem; line-height: 2.8rem; padding: 30px calc( 15 / 320 * 100% ) 140px; }
	.daigakuMain .mainInner { max-width: 500px; }
}



/* ――――――――――――――――――――――――――――――
［ mainHead ］
―――――――――――――――――――――――――――――― */

.mainHead { position: relative; font-family: "Yu Mincho", "YuMincho"; font-weight: 700; text-align: center; padding-bottom: 45px; margin-bottom: 90px; }
.mainHead::before,
.mainHead::after { position: absolute; left: 0; display: block; width: 100%; height: 1px; background-color: #444444; content: ""; }
.mainHead::before { bottom: 4px; }
.mainHead::after { bottom: 0; }
.mainHead .headCopy { font-size: 4.5rem; line-height: 6rem; margin-bottom: 35px; }
.mainHead .headLead { line-height: 3.6rem; }

@media screen and (max-width: 767px) {
	.mainHead { padding-bottom: 20px; margin-bottom: 25px; }
	.mainHead .headCopy { font-size: 3rem; line-height: 4.6rem; margin-bottom: 30px; }
	.mainHead .headLead { line-height: 2.6rem; text-align: left; }
	.mainHead .headLead p { text-indent: 1em; }
}



/* ――――――――――――――――――――――――――――――
［ mainCopy ］
―――――――――――――――――――――――――――――― */

.mainCopy { border-bottom: solid 1px #444444; font-family: "Yu Mincho", "YuMincho"; font-size: 3.2rem; line-height: 4.2rem; font-weight: 700; text-align: center; padding-bottom: 20px; margin-bottom: 40px; }

@media screen and (max-width: 767px) {
	.mainCopy { font-size: 2.4rem; line-height: 3.2rem; margin-bottom: 20px; }
}



/* ――――――――――――――――――――――――――――――
［ mainArticle ］
―――――――――――――――――――――――――――――― */

.mainArticle { position: relative; max-width: 900px; margin-right: auto; margin-left: auto; }
.mainArticle.articleBg::before { position: absolute; display: block; background-size: cover; content: ""; }
.mainArticle.articleBg.bgType3::before { left: -250px; bottom: 160px; width: 206px; height: 330px; background-image: url(../images/article_bg3.jpg); }
.mainArticle.articleBg.bgType4::before { right: -250px; bottom: 160px; width: 206px; height: 330px; background-image: url(../images/article_bg4.jpg); }
.mainArticle.articleBg.bgType5::before { right: -250px; bottom: 50px; width: 114px; height: 275px; background-image: url(../images/article_bg5.jpg); }
.mainArticle p { text-indent: 1em; }
.mainArticle .articleLayout1 { position: relative; }
.mainArticle .articleLayout1 .layoutImg { position: absolute; top: -7px; right: -250px; width: 588px; background: url(../images/article_bg1.jpg) no-repeat right top; background-size: 496px 422px; padding-top: 35px; padding-bottom: 37px; }
.mainArticle .articleLayout1 .layoutImg div { width: 490px; }
.mainArticle .articleLayout1 .layoutTxt { width: 500px; }
.mainArticle .articleLayout2 { position: relative; }
.mainArticle .articleLayout2 .layoutImg { position: absolute; top: 20px; left: -250px; width: 588px; background: url(../images/article_bg2.jpg) no-repeat left top; background-size: 496px 422px; padding: 35px 0 37px 110px; }
.mainArticle .articleLayout2 .layoutImg div { width: 490px; }
.mainArticle .articleLayout2 .layoutTxt { width: 500px; margin-left: 400px; }
.mainArticle .articleLayout3 { overflow: hidden; }
.mainArticle .articleLayout3 .layoutImg { float: right; width: calc( 320 / 900 * 100% ); }
.mainArticle .articleLayout3 .layoutTxt { float: left; width: calc( 540 / 900 * 100% ); }
.mainArticle .article1Txt444 { float: right; width: calc( 396 / 900 * 100% ); }
.mainArticle .article1Img444 { float: left; width: calc( 444 / 900 * 100% ); padding-top: 7px; }
.mainArticle .article3Txt380 { float: left; width: calc( 460 / 900 * 100% ); }
.mainArticle .article3Img380 { float: right; width: calc( 380 / 900 * 100% ); padding-top: 7px; }

@media screen and (max-width: 1400px) {
	.mainArticle .articleLayout1 .layoutImg { position: static; margin: 0 auto 40px; }
	.mainArticle .articleLayout1 .layoutTxt { width: 100%; }
	.mainArticle .articleLayout2 .layoutImg { position: static; padding: 35px 0 37px 110px; margin: 0 auto 40px; }
	.mainArticle .articleLayout2 .layoutTxt { width: 100%; margin-left: 0; }
}

@media screen and (max-width: 990px) {
	.mainArticle .article1Txt444 { float: none; width: 100%; margin-bottom: 40px; }
	.mainArticle .article1Img444 { float: none; max-width: 444px; width: 100%; padding-top: 0; margin-right: auto; margin-left: auto; }
	.mainArticle .article3Txt380 { float: none; width: 100%; margin-bottom: 40px; }
	.mainArticle .article3Img380 { float: none; max-width: 380px; width: 100%; padding-top: 0; margin-right: auto; margin-left: auto; }
}

@media screen and (max-width: 767px) {
	.mainArticle .articleLayout1 .layoutImg { width: 100%; background-position: center center; background-size: 110% 80%; padding: 0 calc( 15 / 500 * 100% ); margin-bottom: 30px; }
	.mainArticle .articleLayout1 .layoutImg div { width: 100%; margin-right: auto; margin-left: auto; }
	.mainArticle .articleLayout2 .layoutImg { width: 100%; background-position: center center; background-size: 110% 80%; padding: 0 calc( 15 / 500 * 100% ); margin-bottom: 30px; }
	.mainArticle .articleLayout2 .layoutImg div { width: 100%; margin-right: auto; margin-left: auto; }
	.mainArticle .articleLayout3 .layoutImg { float: none; width: 260px; margin: 0 auto 30px; }
	.mainArticle .articleLayout3 .layoutTxt { float: none; width: 100%; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 daigakuInfo 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.daigakuInfo { position: relative; background-color: #ffffff; font-size: 1.7rem; line-height: 3rem; font-feature-settings: "palt"; padding: 0 calc( 50 / 1100 * 100% ) 70px; }
.daigakuInfo::before { position: absolute; top: -55px; left: 0; display: block; width: 100%; height: 55px; background: url(../images/info_bg.svg) no-repeat center top; background-size: 100% 55px; content: ""; }
.daigakuInfo p { text-indent: 1em; }
.daigakuInfo .infoInner { max-width: 900px; margin-right: auto; margin-left: auto; }

@media screen and (max-width: 767px) {
	.daigakuInfo { font-size: 1.6rem; line-height: 2.8rem; padding-right: calc( 15 / 320 * 100% ); padding-left: calc( 15 / 320 * 100% ); }
	.daigakuInfo .infoInner { max-width: 500px; }
}



/* ――――――――――――――――――――――――――――――
［ infoTitle ］
―――――――――――――――――――――――――――――― */

.infoTitle { position: relative; padding-top: 85px; margin-bottom: 60px; }
.infoTitle .titleMark { position: absolute; top: 0; left: -60px; }
.infoTitle .titleMark span { display: table-cell; width: 140px; height: 140px; background-color: #a85347; border-radius: 50%; font-size: 2rem; line-height: 2.8rem; color: #ffffff; text-align: center; font-weight: 700; vertical-align: middle; }
.infoTitle .titleLead { font-family: "Yu Mincho", "YuMincho"; font-size: 3rem; line-height: 5rem; text-align: center; }

@media screen and (max-width: 1100px) {
	.infoTitle { padding-top: 50px; margin: 0 auto 40px; }
	.infoTitle .titleMark { right: 0; left: 0; width: 140px; margin: -120px auto 0; }
	.infoTitle .titleLead { font-size: 3rem; line-height: 5rem; }
}

@media screen and (max-width: 767px) {
	.infoTitle { padding-top: 30px; margin-bottom: 30px; }
	.infoTitle .titleMark { width: 110px; margin-top: -100px; }
	.infoTitle .titleMark span { width: 110px; height: 110px; font-size: 1.6rem; line-height: 2.2rem; }
	.infoTitle .titleLead { font-size: 2.2rem; line-height: 3.4rem; text-align: left; }
}



/* ――――――――――――――――――――――――――――――
［ infoLink ］
―――――――――――――――――――――――――――――― */

.infoLink { font-size: 2rem; line-height: 3rem; }
.infoLink a { position: relative; display: block; border: solid 2px #000000; border-radius: 36px; color: #333333; text-align: center; padding: 14px 65px; }
.infoLink a::before,
.infoLink a::after { position: absolute; bottom: 0; display: block; border: solid #000000; content: ""; margin-top: auto; margin-bottom: auto;}
.infoLink a::before { top: -3px; right: 40px; width: 11px; height: 9px; border-width: 3px 1px 1px 1px; }
.infoLink a::after { top: 5px; right: 46px; width: 8px; height: 7px; border-width: 0 0 1px 1px; }
.infoLink a:not(:last-child) { margin-bottom: 30px; }

@media screen and (min-width: 821px) {
	.infoLink a,
	.infoLink a::before,
	.infoLink a::after { transition: 0.2s ease; }
	.infoLink a:hover { background-color: #000000; color: #ffffff; }
	.infoLink a:hover::before,
	.infoLink a:hover::after { border-color: #ffffff; }
}

@media screen and (max-width: 767px) {
	.infoLink { font-size: 1.6rem; line-height: 2.4rem; }
	.infoLink a { padding: 17px 40px; }
	.infoLink a::before { right: 15px; }
	.infoLink a::after { right: 21px; }
}



/* ――――――――――――――――――――――――――――――
［ infoBlock ］
―――――――――――――――――――――――――――――― */

.infoBlock { display: table; width: 100%; background-color: #e5e5e5; border-radius: 20px; padding: 15px 30px; }
.infoBlock .blockMark { display: table-cell; width: 110px; vertical-align: middle; }
.infoBlock .blockMark span { display: table-cell; width: 110px; height: 110px; background-color: #ffffff; border-radius: 50%; font-size: 1.6rem; line-height: 2rem; font-weight: 700; text-align: center; vertical-align: middle; }
.infoBlock .blockData { display: table-cell; vertical-align: middle; padding-left: 20px; }

@media screen and (max-width: 767px) {
	.infoBlock { display: table; border-radius: 15px; padding: 20px; }
	.infoBlock .blockMark { display: block; width: 100%; margin-bottom: 10px; }
	.infoBlock .blockMark span { display: block; width: 100%; height: auto; border-radius: 0; padding: 5px; }
	.infoBlock .blockMark span br { display: none; }
	.infoBlock .blockData { display: block; padding-left: 0; }
}



/* ――――――――――――――――――――――――――――――
［ infoFrame ］
―――――――――――――――――――――――――――――― */

.infoFrame { width: 100%; display: table; background: linear-gradient(to right, #000000 5px, transparent 5px) repeat-x center top,linear-gradient(to right, #000000 5px, transparent 5px) repeat-x center bottom; background-size: 10px 1px; }
.infoFrame .frameName { display: table-cell; width: 340px; font-family: "Yu Mincho", "YuMincho"; font-size: 3.4rem; line-height: 5rem; font-weight: 700; text-align: center; vertical-align: middle; padding-top: 30px; padding-bottom: 30px; }
.infoFrame .frameData { display: table-cell; font-size: 1.6rem; line-height: 2.8rem; padding-top: 30px; padding-bottom: 30px; }

@media screen and (max-width: 767px) {
	.infoFrame { display: block; padding: 19px 5px; }
	.infoFrame .frameName { display: block; width: 100%; font-size: 2.4rem; line-height: 3.4rem; padding-top: 0; padding-bottom: 10px; }
	.infoFrame .frameData { display: block; font-size: 1.4rem; line-height: 2.4rem; padding-top: 0; padding-bottom: 0; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 daigakuCom 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.daigakuCom { font-feature-settings: "palt"; padding: 60px; }
.daigakuCom .comBtn { max-width: 470px; margin-right: auto; margin-left: auto; }
.daigakuCom .comBtn a { position: relative; display: block; background-color: #27432d; border-radius: 38px; font-family: "Yu Mincho", "YuMincho"; font-size: 2.4rem; line-height: 4rem; color: #ffffff; font-weight: 700; text-align: center; text-decoration: none; padding: 19px 20px 18px; }
.daigakuCom .comBtn a::after { position: absolute; top: 0; right: 0; bottom: 0; display: block; width: 35px; height: 35px; border: solid 1px #ffffff; border-radius: 50%; content: ""; margin: auto 20px auto 0; }
.daigakuCom .comBtn a span { position: relative; display: block; }
.daigakuCom .comBtn a span::before,
.daigakuCom .comBtn a span::after { position: absolute; top: -1px; bottom: 0; display: block; content: ""; margin-top: auto; margin-bottom: auto; }
.daigakuCom .comBtn a span::before { right: 10px; width: 15px; height: 15px; border: solid #ffffff; border-width: 0 1px 1px 0; transform: rotate(-45deg); }
.daigakuCom .comBtn a span::after { right: 8px; width: 20px; height: 1px; background-color: #ffffff; }

@media screen and (min-width: 821px) {
	.daigakuCom .comBtn a { transition: 0.2s ease; }
	.daigakuCom .comBtn a:hover { opacity: 0.8; }
}

@media screen and (max-width: 767px) {
	.daigakuCom { padding: 15px calc( 15 / 320 * 100% ); }
	.daigakuCom .comBtn a { border-radius: 25px; font-size: 1.6rem; line-height: 3rem; padding: 10px; }
	.daigakuCom .comBtn a::after { width: 30px; height: 30px; margin-right: 10px; }
	.daigakuCom .comBtn a span::before { right: 9px; width: 12px; height: 12px; }
	.daigakuCom .comBtn a span::after { right: 8px; width: 15px; }
}
