@charset "UTF-8";
@import url(https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@300;400;500&display=swap);

a.word-break-all {
	word-break: break-all
}

figure img {
	object-fit: cover;
	width: 100%
}

.about .num-list {
	margin-bottom: 4vh;
	list-style-position: outside
}

.about .num-list li {
	margin-left: 1.5em
}

.about .disc-list {
	margin-bottom: 4vh
}

.about .disc-list>li {
	list-style-type: disc;
	line-height: 1.7;
	margin: 0 0 0 1.5em
}

.about .disc-list>li::marker {
	color: #f0acad
}

.about .topics-box {
	display: flex;
	padding: 3ch;
	margin-bottom: 4vh;
	gap: .5lh 5%;
	border: solid 2px #e08691
}

.about .topics-box>* {
	width: 50%
}

.anchor-link {
	padding-top: 7vw;
	margin-top: -7vw;
	font-size: 0;
	line-height: 0
}

a.link_btn {
	word-break: break-all
}

.message-content-wrap .message-content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin-bottom: 2vw
}

.message-content-wrap .message-content h4.message-title {
	width: 50%;
	font-family: "Noto Serif JP", serif;
	font-size: 2vw;
	font-weight: 600;
	line-height: 2em
}

.message-content-wrap .message-content .prof-photo {
	width: 40%;
	display: flex;
	justify-content: space-between
}

.message-content-wrap .message-content .prof-photo figure {
	width: 50%
}

.message-content-wrap .message-content .prof-photo figure img {
	width: 100%;
	height: 100%;
	display: block
}

.message-content-wrap .message-content .prof-photo .prof-text {
	width: 50%;
	background: rgba(240, 172, 173, .3);
	padding: 1.5vw 1vw;
	display: flex;
	flex-direction: column;
	justify-content: center
}

.message-content-wrap .message-content .prof-photo .prof-text p.text {
	font-size: 1.3rem;
	letter-spacing: 0
}

.message-content-wrap .message-content .prof-photo .prof-text p.text span {
	font-family: "Noto Serif JP", serif;
	font-size: 2.2rem;
	font-weight: 600;
	display: block
}

.message-content-wrap .message-content .prof-photo .prof-text p.text span.en {
	font-size: 1.1rem;
	letter-spacing: 0
}

.message-content-wrap .message-content .prof-photo .prof-text a.prof-link {
	display: flex;
	width: 84%;
	height: 2.2vw;
	background: #fff;
	color: #f0acad;
	border-radius: 1.1vw;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: .05em;
	margin: .5em auto 0 0
}

.m-step-content {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap
}

.m-step-content p.copy {
	width: 58%;
	font-family: "Noto Serif JP", serif;
	font-size: 2vw;
	font-weight: 600;
	line-height: 2em
}

.m-step-content p.copy span {
	display: inline-block;
	font-size: 2.2vw;
	font-weight: 600;
	color: #c22
}

.m-step-content .step-image {
	width: 42%
}

.m-step-content .step-image img {
	width: 100%;
	display: block
}

.m-step-content .step-image-full {
	margin: 2vw 0;
	width: 100%
}

.m-step-content .step-image-full img {
	width: 100%;
	display: block
}

.about.idea .topics-box .text {
	width: 60%
}

.about.idea .topics-box h5 {
	margin-bottom: 10px
}

.about.idea .topics-box h5 span {
	font-size: 1.2em;
	font-weight: 700;
	color: #f0acad;
	padding-right: 1ch
}

.about.idea .topics-box figure {
	width: 40%
}

.history-img-box {
	width: 50%;
	margin: 0 0 1vh
}

.history-img-box img {
	width: 100%
}

ol.history-music-content {
	list-style-type: decimal;
	margin-left: 1em;
	width: 85%;
	display: flex;
	margin: 0 auto 4vh;
	justify-content: space-between
}

ol.history-music-content li {
	width: 31%;
	text-indent: -1.3em;
	padding-left: 1.3em
}

.faculty-policy p.paragraph span.boild,
.policy p.paragraph span.boild {
	font-weight: 600
}

.faculty-policy a,
.policy a {
	word-break: break-all
}

h4.policy-section-title {
	color: #f0acad;
	font-size: calc(1.8rem + .4vw);
	font-weight: 600;
	letter-spacing: .15em;
	margin-bottom: 25px;
	position: relative;
	margin-left: 1em;
	padding-left: .5em
}

h4.policy-section-title::after {
	position: absolute;
	content: "";
	width: calc(1rem + .4vw);
	height: calc(1rem + .4vw);
	top: .3em;
	left: 0;
	background: #f0acad;
	border-radius: 50%;
	transform: translateY(50%) translateX(-100%)
}

.ankerlink-list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap
}

.ankerlink-list li {
	width: 32.5%;
	margin-bottom: 2vh
}

.ankerlink-list li a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	border: solid 1px #f0acad;
	border-radius: 4vh;
	color: #f0acad;
	font-size: calc(1.1rem + .3vw);
	font-weight: 500;
	text-align: center;
	height: 4vw;
	min-height: 60px
}

.ankerlink-list li a .arrow-box {
	position: absolute;
	top: 50%;
	right: .5vw;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 3vw;
	height: 3vw;
	min-height: 50px;
	min-width: 50px;
	background: #f0acad;
	border-radius: 50%;
	transform: translateY(-50%)
}

.ankerlink-list li a .arrow-box .arrow {
	display: flex;
	width: 1.5em;
	height: 1.5em
}

.ankerlink-list li a .arrow-box .arrow img {
	width: 100%
}

.ankerlink-list li a:hover {
	opacity: 1
}

.ankerlink-list li a:hover .arrow-box .arrow {
	animation: arrow-down .4s ease both
}

@keyframes arrow-down {
	0% {
		opacity: 1;
		transform: translateY(0)
	}

	49% {
		opacity: 0;
		transform: translateY(100%)
	}

	51% {
		opacity: 0;
		transform: translateY(-100%)
	}

	100% {
		opacity: 1;
		transform: translateY(0)
	}
}

.anchor-point {
	pointer-events: none;
	opacity: 0;
	padding-top: 7vw;
	margin-top: -7vw
}

dl.accordion-content {
	width: calc(100% - 20vw);
	margin: 0 auto 4vh
}

dl.accordion-content dt {
	cursor: pointer;
	font-size: 1.8rem;
	letter-spacing: .2em;
	padding: .7em 1em;
	margin-bottom: 2vh;
	position: relative;
	border-bottom: solid 1.5px #f0acad;
	border-top: solid 1.5px #f0acad;
	font-weight: 600;
	color: #f0acad;
	text-align: center
}

dl.accordion-content dt.open span::before {
	transform: rotate(0) translateY(-50%)
}

dl.accordion-content dd .content-inner {
	width: 100%
}

.policy .table-std .heading th {
	background: rgba(240, 172, 173, .2)
}

.policy .table-std .heading td {
	background: rgba(240, 172, 173, .2)
}

.policy p.paragraph.mb-none {
	margin-bottom: 0
}

.chart_res .st10 {
	font-size: 15px
}

.organization .chart2023 {
	margin-top: 30px;
	margin-bottom: 60px;
	background: rgba(240, 172, 173, .2);
	padding: 5vw
}

.organization .chart2023 img {
	width: 100%
}

.number h4.big-title {
	font-size: 1.6rem;
	margin-bottom: 1vh;
	color: #f0acad;
	font-weight: 500
}

.number .table-std th.border-right {
	border-right: 1px solid #fff
}

.number .number-table-res {
	overflow-x: scroll;
	position: relative;
	padding-top: 1.5em
}

.number .number-table-res::before {
	content: "← 左へスワイプしてください";
	position: absolute;
	top: 0;
	left: 0;
	font-size: 1.2rem
}

.number .number-table-res table {
	width: 150%
}

.facilities-img-wd100 {
	width: 100%;
	margin: 0 auto
}

.facilities-img-wd100 img {
	width: 100%
}

.facilities-column-content {
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap
}

.facilities-column-content .box {
	display: flex;
	flex-direction: column;
	width: 32%;
	margin-bottom: 2vw
}

.facilities-column-content .box .img-box {
	width: 100%;
	margin-bottom: 1vw
}

.facilities-column-content .box .img-box img {
	width: 100%
}

.facilities-column-content .box a.link_btn {
	width: 100%;
	flex-grow: 1;
	display: flex;
	align-items: center
}

.facilities-column-content.two {
	width: 80%;
	margin: 0 auto
}

.facilities-column-content.two .box {
	width: 48%
}

.facilities-prop {
	display: flex;
	justify-content: space-between;
}
.facilities-prop ol {
	list-style: none;
	padding: 0;
	width: calc(100% - 140px);
	display: flex;
	justify-content: space-between;
}
.facilities-prop li {
	margin-bottom: 0;
	width: 30%;
}
.facilities-prop li .facilities-prop-title {
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 70px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 10px;
	text-align: center;
	position: relative;
}
.facilities-prop li .facilities-prop-title:before,
.facilities-prop li .facilities-prop-title:after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	border-left: 30px solid ;
	border-top: 35px solid transparent;
	border-bottom: 35px solid transparent;
}
.facilities-prop li .facilities-prop-title:before {
	left: 0;
	border-left-color: #fff;
	z-index: 1;
}
.facilities-prop li .facilities-prop-title:after {
	right: -30px;
	z-index: 2;
}
.facilities-prop li .facilities-prop-title .icon {
	position: absolute;
	background: #fff000;
	font-size: 14px;
	padding: 3px 12px;
	right: -60px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	color: #000;
	font-weight: 700;
}
.facilities-prop li .facilities-prop-title .icon:after {
	display: block;
	content: "";
	position: absolute;
	border-left: 13px solid #fff000;
	border-top: 13px solid transparent;
	border-bottom: 13px solid transparent;
	top: 0;
	right: -13px;
}
.facilities-prop li .facilities-prop-title span:after {
	display: block;
	content: "";
	position: absolute;
}
.facilities-prop li .paragraph {
	margin-bottom: 15px;
}
.facilities-prop li .facilities-note {
	font-size: 86%;
	line-height: 1.7;
}
.facilities-prop li:nth-child(1) .facilities-prop-title {
	background: #3bb483;
}
.facilities-prop li:nth-child(1) .facilities-prop-title:after {
	border-left-color: #3bb483;
}
.facilities-prop li:nth-child(1) p span {
	color: #3bb483;
}
.facilities-prop li:nth-child(2) .facilities-prop-title {
	background: #ef858c;
}
.facilities-prop li:nth-child(2) .facilities-prop-title:after {
	border-left-color: #ef858c;
}
.facilities-prop li:nth-child(2) p span {
	color: #ef858c;
}
.facilities-prop li:nth-child(3) .facilities-prop-title {
	background: #74b5e4;
}
.facilities-prop li:nth-child(3) .facilities-prop-title:after {
	border-left-color: #74b5e4;
}
.facilities-prop li:nth-child(3) p span {
	color: #74b5e4;
}
.facilities-prop li:nth-child(1) .facilities-prop-title:before {
	display: none;
}
.facilities-prop li:nth-child(1) .facilities-prop-title,
.facilities-prop li:nth-child(2) .facilities-prop-title {
	margin-right: -20px;
}
.facilities-prop li:nth-child(2) .facilities-prop-title,
.facilities-prop li:nth-child(3) .facilities-prop-title {
	margin-left: -20px;
}
.facilities-prop .goal {
	width: 100px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #527a78;
	color: #fff;
}
.facilities-prop .goal p {
	-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
			writing-mode: vertical-rl;
	font-size: 20px;
	font-weight: 700;
}

.facilities-two-column {
	display: flex;
	justify-content: space-between;
	margin-bottom: 50px;
}
.facilities-two-column .facilities-block1 {
	width: 48%;
	display: flex;
	justify-content: space-between;
}
.facilities-two-column .facilities-block1 > div {
	width: 48%;
}
.facilities-two-column .facilities-block1 img {
	max-width: 100%;
	height: auto;
}
.facilities-two-column .facilities-block1 .paragraph {
	margin-bottom: 0;
}

ul.facilities-dot-list {
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap
}

ul.facilities-dot-list li {
	width: 29%;
	font-size: 1.5rem;
	list-style: disc;
	margin-left: 1.5em
}

ul.facilities-content {
	width: 100%;
	display: flex;
	margin-bottom: 40px;
	flex-wrap: wrap
}

ul.facilities-content li {
	width: 47%;
	margin-right: 3%;
	margin-bottom: 40px
}

ul.facilities-content li:nth-of-type(2n) {
	margin-right: 0
}

ul.facilities-content li p.fac-name {
	width: 100%;
	padding: 20px 20px;
	background: #f0acad;
	border-radius: 5px;
	color: #fff;
	font-size: 1.7rem;
	font-weight: 600;
	margin-bottom: 10px;
	line-height: 1.2
}

ul.facilities-content li img {
	width: 100%;
	display: block;
	height: auto;
	margin-bottom: 10px
}

.fac-sepanox {
	width: 100%;
	display: flex;
	justify-content: space-between
}

.fac-sepanox>* {
	width: 47%
}

.fac-sepanox>* ul.facilities-content li {
	width: 100%;
	margin-right: 0
}

dl.map-fac-content {
	width: 100%;
	margin-bottom: 40px
}

dl.map-fac-content dt {
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap
}

dl.map-fac-content dt h4.band-title {
	width: 100%
}

dl.map-fac-content dt .link-box {
	width: 100%;
	display: flex;
	align-items: center;
	margin-bottom: 30px
}

dl.map-fac-content dt .link-box .title {
	font-size: 1.4rem;
	line-height: 1
}

dl.map-fac-content dt .link-box a.link-faculty {
	color: #f0acad;
	border: 1px solid #f0acad;
	border-radius: 3px;
	padding: 5px 10px;
	margin-right: 1em;
	font-size: 1.4rem;
	line-height: 1
}

dl.map-fac-content dt .link-box a.link-faculty:last-child {
	margin-right: 0
}

dl.map-fac-content dt .link-box a.link-faculty:hover {
	background: #f0acad;
	color: #fff
}

dl.map-fac-content dt img {
	width: 30%;
	display: block;
	height: auto
}

dl.map-fac-content dt .info {
	width: 65%
}

dl.map-fac-content dd {
	width: 100%;
	padding-top: 30px
}

dl.map-fac-content dd ul.map-fac-small-content {
	width: 100%;
	display: flex;
	flex-wrap: wrap
}

dl.map-fac-content dd ul.map-fac-small-content li {
	width: 30.6666666667%;
	margin-right: 4%;
	margin-bottom: 30px
}

dl.map-fac-content dd ul.map-fac-small-content li:nth-of-type(3n) {
	margin-right: 0
}

dl.map-fac-content dd ul.map-fac-small-content li p.fac-name {
	display: block;
	width: 100%;
	padding-left: 13px;
	position: relative;
	color: #f0acad;
	font-size: 1.6rem;
	font-weight: 600;
	margin-bottom: 10px
}

dl.map-fac-content dd ul.map-fac-small-content li p.fac-name::after {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	height: 2rem;
	width: 3px;
	background: #f0acad;
	transform: translateY(-50%)
}

dl.map-fac-content dd ul.map-fac-small-content li img {
	width: 100%;
	display: block;
	height: auto;
	margin-bottom: 20px
}

.map-box {
	width: 100%;
	height: auto;
	margin-bottom: 40px;
	background-color: #fdfdfd;
	border: solid 1px
}

.map-box img {
	display: block;
	width: 100%
}

ul.map-tab {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 50px
}

ul.map-tab li {
	width: 19.6%;
	margin-right: .5%;
	background: #f0acad;
	margin-bottom: 2px
}

ul.map-tab li:nth-of-type(5n) {
	margin-right: 0
}

ul.map-tab li a {
	display: block;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 20px 10px;
	justify-content: center;
	height: 100%
}

ul.map-tab li a p {
	display: inline-block;
	position: relative;
	padding-left: 29px;
	font-size: 1.5rem;
	font-weight: 500;
	color: #fff;
	line-height: 1.2;
	margin-bottom: 10px
}

ul.map-tab li a p:last-child {
	margin-bottom: 0
}

ul.map-tab li a p span {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: #fff;
	border-radius: 50%;
	display: block;
	width: 25px;
	height: 25px;
	line-height: 1.4;
	font-size: 1.7rem;
	font-weight: 500;
	color: #f0acad;
	text-align: center;
	padding-left: 1px
}

.map .band-title span {
	display: inline-block;
	margin-right: 10px;
	background: #fff;
	border-radius: 50%;
	width: 25px;
	height: 25px;
	line-height: 1.4;
	font-size: 1.7rem;
	font-weight: 500;
	color: #f0acad;
	text-align: center;
	padding-left: 1px
}

.about.socialoutline h4.color-title {
	color: #f0acad;
	font-size: 1.1em;
	margin-bottom: 2vh;
	font-weight: 700
}

.domain-link-container {
	padding: 20px 20px 0;
	border: 2px solid #fae2e2;
	border-radius: 20px
}

.domain-link-container .domain-link-list {
	display: flex;
	flex-wrap: wrap
}

.domain-link-container .domain-link-list>li {
	width: 32%;
	margin-right: 2%;
	margin-bottom: 20px
}

.domain-link-container .domain-link-list>li:nth-of-type(3n) {
	margin-right: 0
}

.domain-link-container .domain-link-list>li a {
	width: 100%;
	height: 50px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	background: #e5e5e5;
	padding: 0 40px 0 20px;
	border-radius: 100px;
	color: #4e4e4e;
	font-size: 1.3rem;
	line-height: 1.4;
	font-weight: 600;
	position: relative;
	transition: all .4s ease
}

.domain-link-container .domain-link-list>li a::after,
.domain-link-container .domain-link-list>li a::before {
	content: "";
	position: absolute;
	transition: all .4s ease
}

.domain-link-container .domain-link-list>li a::before {
	right: 25px;
	top: 50%;
	transform: translate(50%, -50%);
	width: 25px;
	height: 25px;
	background: #fff;
	border-radius: 50%
}

.domain-link-container .domain-link-list>li a::after {
	right: 27px;
	top: 50%;
	transform: translate(50%, -50%) skew(54deg);
	width: 13px;
	height: 4px;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000
}

.domain-link-container .domain-link-list>li a.current,
.domain-link-container .domain-link-list>li a:hover {
	opacity: 1;
	background: #f0acad;
	color: #fff
}

.domain-link-container .domain-link-list>li a.current::before,
.domain-link-container .domain-link-list>li a:hover::before {
	width: 30px;
	height: 30px
}

.domain-link-container .domain-link-list>li a.current::after,
.domain-link-container .domain-link-list>li a:hover::after {
	border-right: 1px solid #f0acad;
	border-bottom: 1px solid #f0acad
}

.domain-link-container .domain-link-list>li a.current {
	cursor: default;
	pointer-events: none
}

.domain-link-container .domain-link-list+.domain-link-list {
	border-top: 2px dashed #fae2e2;
	padding-top: 20px
}

.plan-img-container {
	margin-bottom: 4vh
}

.plan-img-container img {
	width: 100%
}

.certificate-content {
	display: flex;
	justify-content: space-between;
	margin-bottom: 4vh
}

.certificate-content .content-text {
	width: calc(95% - 140px)
}

.certificate-content .certificate-img {
	width: 140px;
	border: 1px solid #ccc
}

.certificate-content .certificate-img img {
	width: 100%
}

.certificate-content .certificate-img .modal {
	display: none
}

.modaal-content-container img {
	width: 100%
}

.certificate-intro-box {
	background: rgba(240, 172, 173, .2);
	padding: 3vw;
	border-radius: 1vw
}

.certificate-intro-box>:last-child {
	margin-bottom: 0
}

.assessment-link-container {
	border: 2px solid #e08691;
	padding: 3vw
}

.assessment-link-container>:last-child {
	margin-bottom: 0
}

.jihee-content {
	display: flex;
	justify-content: space-between;
	margin-bottom: 4vh
}

.jihee-content .content-text {
	width: calc(95% - 140px)
}

.jihee-content .jihee-img {
	width: 140px
}

.jihee-content .jihee-img img {
	width: 100%
}

.access-map-container {
	margin-bottom: 4vh
}

.access-map-container img {
	width: 100%
}

.access-map-container iframe {
	width: 100%;
	height: 300px
}

.access-img-container {
	margin-bottom: 4vh
}

.access-img-container img {
	width: 100%
}

.diamond-list {
	margin-bottom: 4vh
}

.diamond-list>li {
	position: relative;
	padding-left: 1.5em;
	font-size: 1.5rem;
	line-height: 1.9
}

.diamond-list>li::before {
	content: "◆";
	position: absolute;
	left: 0;
	top: 0;
	color: #f0acad
}

.time-table-container {
	display: flex;
	justify-content: space-between;
	margin-bottom: 4vh
}

.time-table-container .time-table-a {
	width: 13%
}

.time-table-container .time-table-a img {
	width: 100%
}

.time-table-container .time-table-b {
	width: 80%
}

.year-title {
	font-size: 1.6rem;
	font-weight: 700
}

ul.normal_list {
	margin-bottom: 10px
}

ul.normal_list li {
	font-size: 1.4rem;
	position: relative;
	list-style-type: disc;
	margin-left: 1em
}

.international-exchange-container {
	display: flex;
	justify-content: space-between;
	margin-bottom: 60px
}

.international-exchange-container .text-box {
	width: 48%
}

.international-exchange-container .text-box .title {
	font-size: 2rem;
	font-weight: 700;
	color: #f0acad;
	margin-bottom: 10px
}

.international-exchange-container .text-box .text {
	font-size: 1.5rem
}

.international-exchange-container .img-box {
	width: 48%
}

.international-exchange-container .img-box img {
	width: 100%
}

.img-box {
	width: 100%
}

.img-box img {
	width: 100%
}

.column-container {
	background: rgba(240, 172, 173, .2);
	padding: 5%
}

.column-title {
	display: block;
	width: 100%;
	font-size: calc(1.8rem + .4vw);
	letter-spacing: .15em;
	font-weight: 600;
	padding: 1.5rem;
	line-height: 1;
	color: #fff;
	background: #f0acad;
	margin-bottom: 25px
}

.column-section-title {
	display: block;
	font-size: 1.8rem;
	letter-spacing: .15em;
	font-weight: 600;
	margin-bottom: 10px;
	color: #f0acad
}

.note {
	font-size: 1.4rem;
	text-align: right
}

@media screen and (max-width:1024px) and (orientation:portrait) {
	.about .topics-box {
		flex-direction: column
	}

	.about .topics-box>* {
		width: 100%
	}

	.anchor-link {
		padding-top: 70px;
		margin-top: -70px
	}

	.message-content-wrap .message-content {
		margin-bottom: 4vw;
		flex-direction: column
	}

	.message-content-wrap .message-content h4.message-title {
		width: 100%;
		font-size: 4vw;
		margin-bottom: .5vmax;
		margin-bottom: .5lh
	}

	.message-content-wrap .message-content .prof-photo {
		width: 100%
	}

	.message-content-wrap .message-content .prof-photo figure {
		width: 40%
	}

	.message-content-wrap .message-content .prof-photo .prof-text {
		width: 60%;
		padding: 3vw 2vw
	}

	.message-content-wrap .message-content .prof-photo .prof-text a.prof-link {
		height: calc(1.3rem + 1vw);
		border-radius: calc((1.3rem + 1vw)/ 2);
		width: 100%
	}

	.m-step-content {
		flex-direction: column
	}

	.m-step-content>*+* {
		margin-top: .5vmax;
		margin-top: .5lh
	}

	.m-step-content p.copy {
		width: 100%;
		font-size: 4vw
	}

	.m-step-content p.copy span {
		font-size: 1.1em
	}

	.m-step-content .step-image {
		width: 100%
	}

	.about.idea .topics-box .text {
		width: 100%
	}

	.about.idea .topics-box figure {
		width: 100%
	}

	.history-img-box {
		width: 100%;
		margin-bottom: 2vh
	}

	ol.history-music-content {
		flex-direction: column
	}

	ol.history-music-content li {
		width: 100%;
		margin-bottom: 1vmax;
		margin-bottom: 1lh
	}

	h4.policy-section-title {
		line-height: 1
	}

	.ankerlink-list li a:hover {
		opacity: 1
	}

	.anchor-point {
		padding-top: 70px;
		margin-top: -70px
	}

	dl.accordion-content {
		width: calc(100% - 12vw)
	}

	dl.accordion-content dt .accordion-btn {
		width: 6vw;
		height: 6vw
	}

	dl.accordion-content dt .accordion-btn span::after,
	dl.accordion-content dt .accordion-btn span::before {
		width: 3vw;
		left: 24%
	}

	.chart_res {
		overflow-x: auto;
		width: 100%;
		position: relative;
		padding-top: 1.5em
	}

	.chart_res::before {
		content: "← 左へスワイプしてください";
		position: absolute;
		top: 0;
		left: 0;
		font-size: 1.2rem
	}

	.chart_res>* {
		width: 800px
	}

	.organization .chart2023 {
		margin-top: 10px;
		margin-bottom: 30px;
	}

	.number .number-table-res table {
		width: 350%
	}

	.facilities-column-content .box {
		width: 100%;
		margin-bottom: 1vw
	}

	.facilities-column-content.two {
		width: 100%
	}

	.facilities-column-content.two .box {
		width: 100%
	}
	.facilities-prop {
		display: block;
	}
	.facilities-prop ol {
		width: auto;
		display: block;
		margin-bottom: 30px;
	}
	.facilities-prop li {
		width: auto;
		margin-bottom: 5px;
		display: flex;
		justify-content: space-between;
	}
	.facilities-prop li .facilities-prop-title {
		width: 70px;
		height: auto;
		min-height: 260px;
		padding-top: 50px;
		font-size: 16px;
		-webkit-writing-mode: vertical-rl;
			-ms-writing-mode: tb-rl;
				writing-mode: vertical-rl;
	}
	.facilities-prop li .facilities-prop-title:before,
	.facilities-prop li .facilities-prop-title:after {
		transform: rotate(90deg);
		transform-origin: left bottom;
	}
	.facilities-prop li .facilities-prop-title:before {
		top: -70px;
	}
	.facilities-prop li .facilities-prop-title:after {
		left: 0;
		right: auto;
		bottom: 0;
		top: auto;
	}
	.facilities-prop li .facilities-prop-title .icon {
		font-size: 12px;
		padding: 8px 3px;
		right: 50%;
		top: auto;
		bottom: -100px;
		margin-right: -12px;
	}
	.facilities-prop li .facilities-prop-title .icon:after {
		transform: rotate(90deg);
		transform-origin: left bottom;
		right: 12px;
		top: auto;
		bottom: 2px;
	}
	.facilities-prop li:nth-child(1) .facilities-prop-box {
		padding-top: 0;
	}
	.facilities-prop li:nth-child(1) .facilities-prop-title,
	.facilities-prop li:nth-child(2) .facilities-prop-title {
		margin-right: 0;
	}
	.facilities-prop li:nth-child(2) .facilities-prop-title,
	.facilities-prop li:nth-child(3) .facilities-prop-title {
		margin-left: 0;
	}
	.facilities-prop li:nth-child(3) .facilities-prop-title {
		min-height: 180px;
	}
	.facilities-prop li .facilities-prop-box {
		width: calc(100% - 90px);
		padding-top: 30px;
	}
	.facilities-prop li .facilities-note {
		font-size: 100%;
	}
	.facilities-prop .goal {
		width: auto;
		padding: 25px 15px;
		text-align: center;
	}
	.facilities-prop .goal p {
		-webkit-writing-mode: horizontal-tb;
			-ms-writing-mode: lr-tb;
				writing-mode: horizontal-tb;
		font-size: 18px;
	}

	.facilities-two-column {
		display: block;
	}
	.facilities-two-column .facilities-block1 {
		width: auto;
		margin-bottom: 45px;
		display: block;
	}
	.facilities-two-column .facilities-block1 > div {
		width: auto;
		margin-bottom: 15px;
	}
	.facilities-two-column .facilities-block1 > div:last-child {
		margin-bottom: 0;
	}
	.facilities-two-column .facilities-block1:last-child {
		margin-bottom: 0;
	}

	ul.facilities-dot-list li {
		width: 100%
	}

	dl.map-fac-content dt>*+* {
		margin-top: .5vmax;
		margin-top: .5lh
	}

	dl.map-fac-content dt .link-box {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		margin-bottom: 30px
	}

	dl.map-fac-content dt .link-box .title {
		font-size: 1.4rem;
		line-height: 1;
		width: 100%;
		margin-bottom: 10px
	}

	dl.map-fac-content dt .link-box a.link-faculty {
		color: #f0acad;
		border: 1px solid #f0acad;
		border-radius: 3px;
		padding: 5px 10px;
		margin-right: 4%;
		font-size: 1.4rem;
		line-height: 1;
		width: 48%;
		margin-bottom: 10px
	}

	dl.map-fac-content dt .link-box a.link-faculty:nth-child(odd) {
		margin-right: 0
	}

	dl.map-fac-content dt .link-box a.link-faculty:last-child {
		margin-right: 0
	}

	dl.map-fac-content dt .link-box a.link-faculty:hover {
		background: #f0acad;
		color: #fff
	}

	dl.map-fac-content dt img {
		width: 100%
	}

	dl.map-fac-content dt .info {
		width: 100%
	}

	dl.map-fac-content dd ul.map-fac-small-content>*+* {
		margin-top: .5vmax;
		margin-top: .5lh
	}

	dl.map-fac-content dd ul.map-fac-small-content li {
		width: 100%;
		margin-right: unset
	}

	ul.map-tab li {
		width: 49%
	}

	ul.map-tab li:nth-of-type(5n) {
		margin-right: .5%
	}

	ul.map-tab li:nth-of-type(2n) {
		margin-right: 0
	}

	ul.map-tab li a {
		justify-content: flex-start
	}

	.domain-link-container .domain-link-list>li {
		width: 100%;
		margin-right: unset
	}

	.certificate-content {
		flex-direction: column
	}

	.certificate-content .content-text {
		width: 100%
	}

	.certificate-content .certificate-img {
		width: 100%
	}

	.certificate-intro-box {
		background: rgba(240, 172, 173, .2);
		padding: 3vw;
		border-radius: 1vw
	}

	.certificate-intro-box>:last-child {
		margin-bottom: 0
	}

	.jihee-content {
		flex-direction: column
	}

	.jihee-content .content-text {
		width: 100%
	}

	.jihee-content .jihee-img {
		width: 60%;
		margin-inline: auto
	}

	.international-exchange-container {
		flex-direction: column
	}

	.international-exchange-container>*+* {
		margin-top: .5vmax;
		margin-top: .5lh
	}

	.international-exchange-container .text-box {
		width: 100%
	}

	.international-exchange-container .text-box .title {
		font-size: 2.2rem;
		margin-bottom: 15px
	}

	.international-exchange-container .img-box {
		width: 100%
	}

	.column-title {
		line-height: 1.5
	}

	section.section_chart {
		overflow-x: scroll
	}

	section.section_chart>* {
		width: 200%
	}

	section.section_chart>::before {
		content: "← 左へスワイプしてください";
		font-size: 1.2rem
	}
}