@charset "UTF-8";
/* .architecture .vertical {
  writing-mode: vertical-rl;
} */
.architecture .department_contents_title01 {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.architecture .department_contents_title01::before {
  content: "";
  display: block;
  margin-bottom: 0.25em;
  width: 1.675em;
  height: 0.45em;
  background-image: url(/assets/img/course/eng/architecture/heading_illust.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
.architecture .information_container .info_title::before {
  background-color: #3CA3D9;
}
.architecture .md-btn_more::after {
  background-color: #3CA3D9;
}
.architecture .md-btn {
  background: #126D87;
  border-color: #126D87;
  max-width: 100%;
}
.architecture .md-btn:hover {
  color: #126D87;
}
.architecture .pickup_item .pickup_more_button {
  background: #3CA3D9;
  border: 1px solid #3CA3D9;
}
.architecture .pickup_item .pickup_more_button:hover {
  color: #3CA3D9;
  background: #fff;
}
.architecture .interview_container {
  background: url(../img/course/eng/architecture/bg_fix_sp.jpg) no-repeat center/cover;
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
  position: relative;
}
@media only screen and (min-width: 641px) {
  .architecture .interview_container {
    background: url(../img/course/eng/architecture/bg_fix.jpg) no-repeat center/cover;
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
  }
}
.architecture .interview_container .container_inner {
  position: relative;
  z-index: 1;
}
.architecture .interview_container .department_contents_title01 {
  color: #fff;
}
.architecture .interview_container .department_contents_title01::before {
  background-image: url(/assets/img/course/eng/architecture/heading_illust_wh.png);
}
.architecture .interview_container .department_contents_title01 + p {
  color: #fff;
}
.architecture .interview_container .interview_item .interview_title {
  color: #fff;
}
.architecture .interview_container .interview_item .interview_title + p {
  color: #fff;
}
.architecture .interview_container .md-btn_more {
  color: #fff;
}
.architecture .work_container .department_contents_title01 {
  color: #fff;
}
.architecture .work_container .department_contents_title01::before {
  background-image: url(/assets/img/course/eng/architecture/heading_illust_wh.png);
}
.architecture .work_container .work_container_heading .circle_box {
  background-color: #126D87;
}
.architecture .work_container .work_box_title {
  color: #3CA3D9;
}
.architecture .work_container .work_body .flex_item p {
  margin-bottom: 2em;
}
.architecture .work_container .work_body .flex_item h4 {
  margin-bottom: 1em;
}
.architecture .work_container .work_body .flex_item .bold {
  font-weight: bold;
}
.architecture .voice_block.graduates::before {
  background: rgba(60, 163, 217, 0.1);
}
.architecture .voice_item {
  border-top: #3CA3D9 solid;
}
.architecture .voice_item .title {
  color: #3CA3D9;
}
.architecture .work_item_title {
  margin-top: 1.5em;
}
.architecture .research_container {
  background: url(../img/course/eng/architecture/bg_fix_sp.jpg) no-repeat center/cover;
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
  position: relative;
}
@media only screen and (min-width: 641px) {
  .architecture .research_container {
    background: url(../img/course/eng/architecture/bg_fix.jpg) no-repeat center/cover;
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
  }
}
.architecture .research_container .department_contents_title01 {
  color: #fff;
}
.architecture .research_container .department_contents_title01:before {
  background-image: url(/assets/img/course/eng/architecture/heading_illust_wh.png);
}
.architecture .research_container .department_contents_title01 + p {
  color: #fff;
}
.architecture .research_container .research_item .research_item_title {
  color: #fff;
}
.architecture .research_container .research_item p {
  color: #fff;
}
.architecture .voice_block::before {
  background: rgba(255, 255, 255, 0.3);
}
.architecture .js-more-toggle {
  position: relative;
}
.architecture .js-more-toggle .icon {
  display: none !important;
}
.architecture .js-more-toggle:hover {
  color: #3CA3D9;
  background: #fff;
}
.architecture .js-more-toggle::after, .architecture .js-more-toggle::before {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  display: block;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  transform-origin: center center;
  width: 0.8em;
  right: 1.5em;
}
.architecture .js-more-toggle::after {
  transform: rotate(90deg);
}
.architecture .open + .js-more-toggle::after {
  content: none;
}
.architecture .department_bottom_container a {
  color: #3CA3D9;
}
.architecture .scroll_aera {
  background: url(../img/course/eng/architecture/mv_img_sp.jpg) no-repeat top/contain;
  /* background-attachment: fixed; */
  /* background-size: cover;
  background-position: center; */
  width: 100%;
  /* height: 100vh; */
  background-color: #072446;
}
@media only screen and (min-width: 641px) {
  .architecture .scroll_aera {
    background: url(../img/course/eng/architecture/mv_img_pc.jpg) no-repeat center/cover;
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    /* height: auto; */
  }
}
.architecture .department_mv {
  height: calc(100vh - 50px);
}
@media only screen and (min-width: 769px) {
  .architecture .department_mv {
    height: calc(100vh - 80px);
  }
}
.architecture .department_mv .container_inner {
  height: 100%;
  position: relative;
}
@media only screen and (min-width: 641px) {
  .architecture .department_mv .container_inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
.architecture .department_mv .department_title {
  padding-top: 8vh;
}
@media only screen and (min-width: 641px) {
  .architecture .department_mv .department_title {
    margin-top: 0;
  }
}
.architecture .department_mv .department_title .faculty_name {
  font-size: clamp(1.4rem, 1.327rem + 0.31vw, 1.6rem);
  color: #fff;
  background-color: #126D87;
  padding: 0 3.5rem;
  margin-bottom: min(10px, 1.3333333333vw);
  display: inline-block;
  line-height: 2.4em;
  letter-spacing: 0.05em;
}
.architecture .department_mv .department_title .name {
  font-size: clamp(4.8rem, 4.361rem + 1.87vw, 6rem);
  color: #126D87;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.05em;
  background-color: #fff;
  padding: 0 0.3em;
  line-height: 1.5em;
  display: inline-block;
}
.architecture .department_mv .department_title .en {
  font-size: clamp(1.4rem, 1.327rem + 0.31vw, 1.6rem);
  font-family: "roboto", sans;
  letter-spacing: 0.1em;
  color: #fff;
  display: inline-block;
}
.architecture .department_mv .maincopy_area {
  position: absolute;
  bottom: 8vh;
  right: 5%;
  writing-mode: vertical-rl;
}
@media only screen and (min-width: 641px) {
  .architecture .department_mv .maincopy_area {
    bottom: auto;
    top: 50%;
    transform: translateY(-50%);
  }
}
.architecture .department_mv .maincopy_area .copy_parts span {
  font-size: clamp(3.8rem, 2.812rem + 4.21vw, 6.5rem);
  font-family: "Noto Serif JP", serif;
  display: inline-block;
  border: solid 1px #fff;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.1em;
  padding: 0.4em 0;
  white-space: nowrap;
}
.architecture .department_mv .maincopy_area .copy_parts span:first-child {
  margin-left: min(28px, 4.5333333333vw);
  border: 1px solid #fff;
  border-right: none;
  background: linear-gradient(to bottom, #fff 57%, transparent 20px, transparent calc(20px + 6em), #fff calc(20px + 6em)) right top/1px 100%;
  background-repeat: no-repeat;
}
.architecture .department_mv .maincopy_area .copy_parts span:first-child::before {
  content: "ツクる";
  position: absolute;
  font-size: clamp(1.5rem, 1.098rem + 1.72vw, 2.6rem);
  top: 60%;
  right: 0;
  width: 1em;
  height: 6em;
  writing-mode: vertical-rl;
  letter-spacing: 0.7em;
  line-height: 0;
}
.architecture .characteristics_container {
  padding: 80px 0;
}
.architecture .characteristics_container .container_inner {
  margin: 0 auto 0 0;
  width: 95%;
  max-width: 1400px;
}
@media only screen and (min-width: 641px) {
  .architecture .characteristics_container .container_inner {
    padding: 100px 0;
  }
}
.architecture .characteristics_container .characteristics_box {
  padding: 13.3333333333vw 8vw;
  background-color: #fff;
  position: relative;
  width: 700px;
  max-width: 100%;
}
@media only screen and (min-width: 641px) {
  .architecture .characteristics_container .characteristics_box {
    padding: 80px 100px;
  }
}
.architecture .characteristics_container .characteristics_box::before {
  width: 5px;
  content: "";
  background-color: #126D87;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (min-width: 641px) {
  .architecture .characteristics_container .characteristics_box::before {
    width: 15px;
  }
}
.architecture .characteristics_container .characteristics_box .box_ttl {
  font-size: clamp(2.8rem, 2.126rem + 1.68vw, 3.6rem);
  color: #126D87;
  letter-spacing: 0.1em;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 1em;
}
.architecture .characteristics_container .characteristics_box .box_text {
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.03em;
  line-height: 2em;
  font-size: clamp(1.6rem, 1.432rem + 0.42vw, 1.8rem);
}
.architecture .course_container {
  background: url(../img/course/eng/architecture/course_bg.png) repeat;
  background-color: #072446;
  padding: 26.6666666667vw 0;
  color: #fff;
}
@media only screen and (min-width: 641px) {
  .architecture .course_container {
    padding: 110px 0;
  }
}
.architecture .course_container .heading {
  text-align: center;
  margin-bottom: min(17.6vw, 92px);
  margin-bottom: min(18.1333333333vw, 92px);
}
.architecture .course_container .heading .img {
  width: min(61.8666666667vw, 528px);
  margin: 0 auto;
}
.architecture .course_container .heading .lead {
  font-size: clamp(2rem, 1.663rem + 0.84vw, 2.4rem);
  letter-spacing: 0.1em;
  font-family: "Noto Serif JP", serif;
  line-height: 1.8em;
  margin-bottom: min(4vw, 8px);
  font-weight: 400;
  margin-top: -0.3em;
}
@media only screen and (min-width: 641px) {
  .architecture .course_container .heading .lead {
    margin-top: -1em;
  }
}
.architecture .course_container .heading h2 {
  font-size: clamp(3.2rem, 1.684rem + 3.79vw, 5rem);
  font-family: "Noto Serif JP", serif;
  line-height: 1.2em;
  margin-bottom: min(10.6666666667vw, 36px);
  letter-spacing: 0.1em;
}
.architecture .course_container .heading .disc {
  text-align: left;
  font-weight: 400;
  margin-bottom: min(10.6666666667vw, 22px);
  font-size: clamp(1.4rem, 1.063rem + 0.84vw, 1.8rem);
}
@media only screen and (min-width: 641px) {
  .architecture .course_container .heading .disc {
    text-align: center;
  }
}
.architecture .course_container .heading .attention {
  text-align: left;
  font-size: 1.2rem;
}
@media only screen and (min-width: 641px) {
  .architecture .course_container .heading .attention {
    text-align: center;
  }
}
.architecture .course_container .course_blocks {
  margin-bottom: 140px;
}
.architecture .course_container .course_blocks .block {
  margin-bottom: min(26.6666666667vw, 66px);
}
@media only screen and (min-width: 641px) {
  .architecture .course_container .course_blocks .block {
    display: flex;
    justify-content: space-between;
  }
}
.architecture .course_container .course_blocks .block .block_img {
  margin: 0 calc(50% - 50vw);
  margin-bottom: 11.4666666667vw;
}
@media only screen and (min-width: 641px) {
  .architecture .course_container .course_blocks .block .block_img {
    margin-bottom: 0;
    width: min(70%, 53vw);
    margin-left: calc(50% - 50vw);
  }
}
@media only screen and (min-width: 641px) {
  .architecture .course_container .course_blocks .block .block_text {
    width: 48%;
  }
}
.architecture .course_container .course_blocks .block .block_text .lead_area {
  position: relative;
  margin-bottom: min(10.6666666667vw, 50px);
  display: flex;
  justify-content: center;
}
.architecture .course_container .course_blocks .block .block_text .lead_area .lead_text span {
  color: #CB3597;
  font-family: "Noto Serif JP", serif;
  border-right: 1px #CB3597 solid;
  font-size: clamp(2.4rem, 2.063rem + 0.84vw, 2.8rem);
  font-weight: bold;
  letter-spacing: 0.3em;
  padding: 0 0.4em;
  display: block;
}
.architecture .course_container .course_blocks .block .block_text .lead_area .lead_text span:last-child {
  border-left: 1px #CB3597 solid;
}
.architecture .course_container .course_blocks .block .block_text .lead_area .illust1 {
  width: min(14.6666666667vw, 65px);
  position: absolute;
  top: 0;
  right: 0;
}
.architecture .course_container .course_blocks .block .block_text .lead_area .illust2 {
  width: min(12vw, 70px);
  position: absolute;
  bottom: 0;
  left: 0;
}
.architecture .course_container .course_blocks .block .block_text .text_box h3 {
  font-size: clamp(3rem, 1.653rem + 3.37vw, 4.6rem);
  color: #fff;
  letter-spacing: 0.03em;
  font-family: "Noto Serif JP", serif;
  border-bottom: 4px solid;
  border-image: linear-gradient(to right, #CB3597, #072446) 1;
  padding-bottom: min(6.6666666667vw, 25px);
  margin-bottom: min(6.6666666667vw, 25px);
}
@media only screen and (min-width: 641px) {
  .architecture .course_container .course_blocks .block .block_text .text_box h3 {
    border-bottom: 6px solid;
  }
}
.architecture .course_container .course_blocks .block .block_text .text_box h3 span {
  font-size: 0.5em;
}
.architecture .course_container .course_blocks .block .block_text .text_box .disc {
  font-size: 1.4rem;
  color: #fff;
  margin-bottom: min(17.8666666667vw, 40px);
  line-height: 2em;
}
.architecture .course_container .course_blocks .block .block_text .text_box .attention {
  font-size: clamp(0.8rem, 0.463rem + 0.84vw, 1.2rem);
}
.architecture .course_container .course_blocks .block:nth-child(2n) .block_text .lead_area .lead_text span {
  color: #1EBE3E;
  border-right: 1px #1EBE3E solid;
}
.architecture .course_container .course_blocks .block:nth-child(2n) .block_text .lead_area .lead_text span:last-child {
  border-left: 1px #1EBE3E solid;
}
.architecture .course_container .course_blocks .block:nth-child(2n) .block_text .lead_area .illust1 {
  width: min(17.3333333333vw, 104px);
  left: 0;
}
.architecture .course_container .course_blocks .block:nth-child(2n) .block_text .lead_area .illust2 {
  width: min(13.3333333333vw, 75px);
  right: 0;
  left: auto;
}
.architecture .course_container .course_blocks .block:nth-child(2n) .block_text .text_box h3 {
  border-image: linear-gradient(to right, #148440, #072446) 1;
  line-height: 1.3em;
}
.architecture .course_container .course_blocks .block:nth-child(2n) .lead_text span {
  color: #1EBE3E;
}
@media only screen and (min-width: 641px) {
  .architecture .course_container .course_blocks .block:nth-child(2n) {
    flex-direction: row-reverse;
  }
  .architecture .course_container .course_blocks .block:nth-child(2n) .block_img {
    margin-right: calc(50% - 50vw);
  }
}
.architecture .course_container .course_check .block {
  background: url(../img/course/eng/architecture/course_check_bg_sp.png) no-repeat center/cover;
  position: relative;
}
@media only screen and (min-width: 641px) {
  .architecture .course_container .course_check .block {
    background: url(../img/course/eng/architecture/course_check_bg.png) no-repeat center/cover;
  }
}
.architecture .course_container .course_check .block .block_content {
  padding: max(31.7333333333vw, 96px) min(8vw, 70px);
  border-bottom: solid 5px #fff;
  background: linear-gradient(to right, #fff 20px, transparent 20px, transparent calc(20px + 4.5em), #fff calc(20px + 4.5em)) 0 0/100% 5px;
  background-repeat: no-repeat;
}
@media only screen and (min-width: 641px) {
  .architecture .course_container .course_check .block .block_content {
    background: linear-gradient(to right, #fff 8em, transparent 8em, transparent 18em, #fff 18em) 0 0/100% 5px;
    background-repeat: no-repeat;
    padding: 96px 70px 122px 289px;
  }
}
.architecture .course_container .course_check .block .block_content .lead {
  position: absolute;
  top: -5.5em;
  left: 2.5em;
}
@media only screen and (min-width: 641px) {
  .architecture .course_container .course_check .block .block_content .lead {
    top: -2.5em;
    left: 7em;
  }
}
.architecture .course_container .course_check .block .block_content .lead p {
  font-weight: bold;
  writing-mode: vertical-rl;
  line-height: 0;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.05em;
}
.architecture .course_container .course_check .block .block_content .lead p span {
  display: block;
  font-size: clamp(2.6rem, -0.347rem + 7.37vw, 6.1rem);
  letter-spacing: 0.08em;
}
.architecture .course_container .course_check .block .block_content .lead p span:last-child {
  margin-right: 1.3em;
  margin-top: 2em;
}
.architecture .course_container .course_check .block .block_content .icon {
  width: min(22.4vw, 103px);
  margin: 0 auto;
  position: absolute;
  left: 0;
  right: 0;
  top: max(-10.6666666667vw, -50px);
}
.architecture .course_container .course_check .block .block_content .box_ttl {
  font-size: clamp(2.2rem, 1.358rem + 2.11vw, 3.2rem);
  line-height: 1.8em;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  margin-bottom: min(5.3333333333vw, 30px);
  letter-spacing: 0.03em;
}
.architecture .course_container .course_check .block .block_content .disc {
  font-size: 1.4rem;
  line-height: 2em;
}
.architecture .features_container {
  padding: min(32vw, 100px) 0;
  position: relative;
  background: url(../img/course/eng/architecture/bg_fix_sp.jpg) no-repeat center/cover;
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
}
@media only screen and (min-width: 641px) {
  .architecture .features_container {
    background: url(../img/course/eng/architecture/bg_fix.jpg) no-repeat center/cover;
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
  }
}
.architecture .features_container .container_inner {
  position: relative;
  z-index: 1;
}
.architecture .features_container .features_heading .img {
  width: min(77.8666666667vw, 666px);
  margin: 0 auto;
}
.architecture .features_container .features_heading h2 {
  font-size: clamp(3.2rem, 1.684rem + 3.79vw, 5rem);
  text-align: center;
  color: #fff;
  letter-spacing: 0.03em;
  margin-top: -0.3em;
  margin-bottom: min(21.3333333333vw, 110px);
  font-family: "Noto Serif JP", serif;
}
.architecture .features_container .features_blocks {
  margin-bottom: max(16vw, 90px);
}
.architecture .features_container .features_blocks .block {
  display: flex;
  flex-direction: column;
  margin-bottom: min(13.3333333333vw, 80px);
}
.architecture .features_container .features_blocks .block .block_img {
  margin-left: calc(50% - 50vw);
}
@media only screen and (min-width: 641px) {
  .architecture .features_container .features_blocks .block .block_img {
    margin-left: -5vw;
    width: 50%;
    min-width: 510px;
  }
}
.architecture .features_container .features_blocks .block .text_box {
  background-color: #fff;
  padding: 21.3333333333vw 6.6666666667vw;
  margin-right: calc(50% - 50vw);
  margin-top: -40px;
  position: relative;
}
@media only screen and (min-width: 641px) {
  .architecture .features_container .features_blocks .block .text_box {
    width: 65%;
    margin-right: auto;
    margin: -250px 0 0 auto;
    padding: 60px;
    min-width: 630px;
  }
}
.architecture .features_container .features_blocks .block .text_box::after {
  content: "";
  position: absolute;
  width: 8px;
  background-color: #126D87;
  height: 100%;
  left: 0;
  top: 0;
}
.architecture .features_container .features_blocks .block .text_box .num_area {
  position: absolute;
  top: 5.3333333333vw;
  right: 5.3333333333vw;
  width: min(19.2vw, 104px);
  background: url(../img/course/eng/architecture/features_triangle.png) no-repeat center/contain;
}
@media only screen and (min-width: 641px) {
  .architecture .features_container .features_blocks .block .text_box .num_area {
    top: 12px;
    right: 12px;
  }
}
.architecture .features_container .features_blocks .block .text_box .num_area .number {
  font-size: clamp(4.5rem, 2.816rem + 4.21vw, 6.5rem);
  font-family: "roboto", sans;
  color: #126D87;
  text-align: center;
  display: flex;
  align-items: center;
  font-weight: 500;
}
.architecture .features_container .features_blocks .block .text_box .box_ttl {
  font-size: clamp(2rem, 1.663rem + 0.84vw, 2.4rem);
  line-height: 1.8em;
  color: #126D87;
  font-family: "Noto Serif JP", serif;
  margin-bottom: min(5.3333333333vw, 25px);
  font-weight: bold;
}
.architecture .features_container .features_blocks .block .text_box .disc {
  font-size: 1.4rem;
  line-height: 1.8em;
  letter-spacing: 0.03em;
}
.architecture .features_container .features_blocks .block:nth-child(2n) .block_img {
  margin-right: calc(50% - 50vw);
  margin-left: 0;
}
@media only screen and (min-width: 641px) {
  .architecture .features_container .features_blocks .block:nth-child(2n) .block_img {
    margin: 0 -5vw 0 auto;
  }
}
.architecture .features_container .features_blocks .block:nth-child(2n) .text_box {
  margin-left: calc(50% - 50vw);
  margin-right: 0;
}
@media only screen and (min-width: 641px) {
  .architecture .features_container .features_blocks .block:nth-child(2n) .text_box {
    width: 65%;
    margin-left: auto;
    margin: -250px auto 0 0;
  }
}
.architecture .features_container .check_block {
  border-bottom: solid #fff 5px;
  border-top: solid #fff 5px;
  padding: min(20vw, 84px) 0 min(13.3333333333vw, 60px);
  position: relative;
}
@media only screen and (min-width: 641px) {
  .architecture .features_container .check_block {
    display: flex;
    justify-content: space-between;
  }
}
.architecture .features_container .check_block .check_icon {
  width: min(22.4vw, 103px);
  margin: 0 auto;
  position: absolute;
  left: 0;
  right: 0;
  top: max(-13.3333333333vw, -60px);
}
.architecture .features_container .check_block .img {
  width: 80%;
  margin: 0 auto 40px;
}
@media only screen and (min-width: 641px) {
  .architecture .features_container .check_block .img {
    margin-bottom: 0;
    width: 35%;
    margin: 0;
  }
}
@media only screen and (min-width: 641px) {
  .architecture .features_container .check_block .text_area {
    width: 60%;
  }
}
.architecture .features_container .check_block .text_area .box_ttl {
  font-size: clamp(1.9rem, 0.805rem + 2.74vw, 3.2rem);
  color: #fff;
  letter-spacing: 0.03em;
  font-weight: bold;
  font-family: "Noto Serif JP", serif;
  margin-bottom: min(6.6666666667vw, 30px);
}
.architecture .features_container .check_block .text_area .disc {
  font-size: 1.4rem;
  color: #fff;
  line-height: 1.8em;
  letter-spacing: 0.03em;
  margin-bottom: 60px;
}
.architecture .features_container .check_block .text_area .md-btn {
  background-color: #fff;
  color: #1F597E;
}