/* import */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100..900&family=Noto+Sans+JP:wght@200..900&family=Noto+Serif+JP:wght@200..900&display=swap');

/* common */
* {box-sizing:border-box;}
html, html a, * {-webkit-font-smoothing:antialiased; font-smoothing:antialiased; text-rendering:optimizeLegibility; scroll-behavior:smooth;}
body {position:relative; margin:0; padding:0; padding-right:0 !important; color:#333; -webkit-text-size-adjust:none; font-family:'Roboto', 'Noto Sans JP', sans-serif; font-weight:400; font-size:1.25vw; line-height:1.5; word-wrap:break-word;}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {margin:0; font-weight:700; font-family:'Roboto', 'Noto Sans JP', sans-serif; line-height:2.2; color:#0086CC; line-height:1;}
p {margin:0;}
ul, ol {margin:0; padding:0 0 0 1.5em;}
a {color:#515151; transition:all .2s ease-in-out;}
a:link, a:visited {text-decoration:none;}
a:hover:not(.button) {text-decoration:none; color:#515151;}
figure {margin:0;}
img {vertical-align:middle;}
button {background:none; border:none; color:inherit; transition:all .2s ease-in-out; cursor:pointer;}

/* util */
#wrapper {padding-top:17.42vw;}
body.home #wrapper {}
#content {position:relative; display:block; padding:0 0 7.81vw;}
body.home #content {padding:5.47vw 0 7.81vw;}
#content::before {position:absolute; content:''; top:0; left:0; width:100%; height:100%; z-index:-1;}
body.home #content {padding:0 0 7.81vw;}
.container {z-index:10; width:75vw; margin:auto; padding:0;}
.container-sm {z-index:10; width:62.5vw; margin:auto; padding:0;}
.container-lg {z-index:10; width:87.5vw; margin:auto; padding:0;}
.container-fluid {width:100%; margin:auto; padding:0;}
.img-fluid {max-width:100%; height:auto;}
.img-full {width:100%; height:auto;}
.more {display:flex; justify-content:center; margin-top:3.39vw; gap:1.04vw;}
.button {position:relative; display:inline-flex; flex-direction:column; justify-content:center; align-items:center; width:auto; height:3.75vw; padding:0 3.91vw; border-radius:3.75vw; background-color:#fff; border:1px solid transparent; color:#0086CC; font-size:1.88vw; font-family:'Noto Sans JP', sans-serif; font-weight:500; cursor:pointer; line-height:1; white-space:nowrap;}
.button:hover {background-color:#0086CC; border-color:#fff; color:#fff;}
.button.fill {background-color:#0086CC; color:#fff;}
.button.fill:hover {background-color:#fff; border-color:#0086CC; color:#0086CC;}
.button.bordered {border:#0086CC; color:#0086CC;}
.button.bordered:hover {border:#fff; color:#fff;}
.button.sm {height:3.13vw; padding:0 2.34vw; border-radius:3.13vw; font-size:1.56vw;}
.button.full {width:100%;}
.button.shadow {border:1px solid #fff; box-shadow:0 0 0.31vw rgba(0, 0, 0, .25);}
.breadcrumbs {display:flex; align-items:center; margin:0 6.47vw; padding:1.95vw 0; border-top:1px solid #0086CC; line-height:1;}
.breadcrumbs span > a {color:#828282;}
.breadcrumbs span > span {color:#828282;}
.breadcrumbs i {margin:0 0.26vw; color:#828282;}
.pager {min-height:1.56vw;}
.pagination {display:flex; justify-content:center; margin-top:3.13vw;}
.pagination ul {display:flex; justify-content:center; gap:1.04vw; list-style:none; padding-left:0;}
.pagination ul > li {}
.pagination ul > li > span,
.pagination ul > li > a {display:flex; justify-content:center; align-items:center; width:3.13vw; height:3.13vw; border-radius:3.13vw;}
.pagination ul > li > span,
.pagination ul > li > a:hover {background-color:#5d5bc9; color:#fff;}
.text-left {text-align:left !important;}
.text-center {text-align:center !important;}
.text-right {text-align:right !important;}
.text-red {color:#EB5757 !important;}
.bg-light {padding:3.91vw 0; background-color:#F2F2F2;}
.bg-primary {padding:3.91vw 0; background-color:#0086CC;}
.text-primary {color:#0086CC;}
.text-gray {color:#515151;}
.micromodal-slide {position:relative;}
.modal__container {padding:2.34vw; border-radius:1.25vw; box-shadow:0 0 0.31vw rgba(0, 0, 0, .25);}
.modal__content-row {display:flex; gap:2.34vw;}
.modal__content-row__col:nth-child(1) {flex:0 0 18.75vw;}
.modal__content-row__col:nth-child(2) {flex:1; padding-left:2.34vw; border-left:1px solid #E0E0E0;}
.modal__content-row__col-image figure {border-radius:50%; overflow:hidden;}
.modal__content-row__col-image h3 {margin-top:1.56vw; text-align:center; font-size:1.88vw;}
.modal__content-row__col-image p {margin-top:1.56vw; font-size:1.09vw;}
.modal__content-row__col-text h3 {font-size:1.25vw;}
.modal__content-row__col-text h3:not(:first-child) {margin-top:3.13vw;}
.modal__content-row__col-text p {margin-top:1.56vw; font-size:1.09vw;}

/* header */
.header {position:fixed; top:0; left:0; display:flex; flex-direction:column; width:100%; height:17.42vw; background-color:#fff; z-index:9999; transition:all .2s ease-in-out;}
body.scrolling .header {height:auto; background-color:rgba(255, 255, 255, .85);}
.header-inner {display:flex; justify-content:space-between; align-items:flex-start; padding:4.84vw 2.34vw 2.34vw 6.41vw; transition:all .2s ease-in-out;}
body.scrolling .header-inner {padding:2.34vw;}
.header-brand {width:25.55vw; margin:0 auto 0 0; padding:0; z-index:100; transition:all .2s ease-in-out;}
body.scrolling .header-brand {width:15.63vw;}
.header-brand-link {display:block; line-height:1;}
.header-brand p {margin-top:2.73vw; font-size:1.25vw; font-weight:500;}
body.scrolling .header-brand p {display:none;}
.header-action {display:flex; justify-content:space-between; align-items:center; gap:2.34vw; z-index:210;}
.header-contact {position:relative; padding-left:4.69vw !important;}
.header-contact::before {position:absolute; top:50%; left:2.34vw; font:var(--fa-font-solid); content:'\f0e0'; transform:translateY(-50%);}
.header-sns {padding-right:2.34vw; border-right:1px solid #E0E0E0; z-index:100;}
.sns-list {display:none; /* display:flex; */ gap:2.34vw; padding-left:0; list-style:none;}
.sns-list > li {line-height:1;}
.sns-list > li img {width:3.13vw;}
.button-hamburger {position:relative; width:1.88vw; height:1.88vw; margin:0; padding:0; background:none; border:none; z-index:100;}
.button-hamburger-bar {position:absolute; content:''; right:0; width:1.88vw; height:6px; background-color:#0086CC; border-radius:1px; transition:all .2s ease-in-out;}
.button-hamburger .button-hamburger-bar:nth-child(1) {top:calc(50% - 14px);}
.button-hamburger .button-hamburger-bar:nth-child(2) {top:calc(50% - 3px);}
.button-hamburger .button-hamburger-bar:nth-child(3) {top:calc(50% + 8px);}
.button-hamburger.open .button-hamburger-bar:nth-child(1) {transform:rotate(45deg); top:calc(50% - 3px);}
.button-hamburger.open .button-hamburger-bar:nth-child(2) {opacity:0;}
.button-hamburger.open .button-hamburger-bar:nth-child(3) {transform:rotate(-45deg); top:calc(50% - 3px);}
.header-nav {display:none; position:fixed; top:0; left:0; width:100%; height:100vh; padding:0; background-color:#fff; z-index:200;}
.header-nav-global {display:flex; flex-direction:column; justify-content:center; height:100%;}
.header-nav-global-list {display:flex; flex-direction:column; justify-content:center; padding-left:0; list-style:none;}
.header-nav-global-list > li:not(:last-child) {margin-bottom:3.52vw;}
.header-nav-global-list > li a {display:block; color:#0086CC; font-size:1.56vw; font-weight:700; line-height:1;}
.header-nav-global-child {display:none;}
.header-nav-global-child.open {display:block;}
.header-nav-global-child ul {display:flex; flex-wrap:wrap; gap:1.56vw; padding-top:1.88vw; padding-left:0; list-style:none;}
.header-nav-global-child ul > li a {display:flex; justify-content:center; align-items:center; height:3.52vw; padding:0 1.56vw; border:1px solid #333; font-size:1.25vw;}
.header-nav-global-child ul.post-tag > li a::before {font:var(--fa-font-solid); content:'\23'; margin-right:0.26vw;}

/* footer */
.footer {padding:3.13vw 0;}
.footer-nav {display:flex; justify-content:space-between; gap:4.69vw; margin-top:3.91vw;}
.footer-nav-list {display:flex; flex-direction:column; gap:2.34vw; list-style:none; padding-left:0;}
.footer-nav-list > li a {font-size:1.56vw; font-weight:500;}
.footer-nav-information {margin-left:auto;}
.footer-nav-information-button {display:flex; gap:3.91vw;}
.footer-nav-information-detail {display:flex; flex-direction:column; gap:1.56vw; margin-top:2.34vw;}
.footer-nav-information-detail a {color:#0086CC; font-size:2.5vw; font-weight:500;}
.footer-nav-information-detail a img {width:2.5vw; margin-right:0.78vw;}
.footer-sns {position:absolute; bottom:0; right:0;}
.footer-copyright {margin-top:3.13vw;}
.footer-copyright p {text-align:center; font-size:1.09vw;}

/* mod */
.section:not(:first-child) {margin-top:3.91vw;}
.heading {margin-bottom:3.91vw;}
.heading h2 {text-align:center; color:#0086CC;}
.heading h2 span {display:block;}
.heading h2 .en {font-size:4.38vw; font-weight:400;}
.heading h2 .ja {margin-top:3.13vw; font-size:1.88vw;}
.heading p {margin-top:3.13vw; font-size:1.56vw; color:#0086CC;}
.content {position:relative;}
.content h3 {font-size:2.5vw;}
.content h4 {font-size:1.88vw;}
.fadeUp {animation-name:fadeUpAnime; animation-duration:0.5s; animation-fill-mode:forwards; opacity:0;}
@keyframes fadeUpAnime {from {opacity:0; transform:translateY(100px);} to {opacity:1; transform:translateY(0);}}
hr {margin:3.91vw 0 0; padding:0; border:none; border-top:1px solid #E0E0E0;}
.hr-primary {border-top-color:#0086CC;}
.note {font-size:1.09vw;}

.-pc {display:block;}
.-sp {display:none;}

/* content */
.hero-slider {position:relative;}
.hero-slider-pagination {position:absolute; top:-1.95vw; right:6.25vw; bottom:inherit !important; left:inherit !important; width:auto !important; display:flex; gap:0.94vw; line-height:0;}
.hero-slider-pagination .swiper-pagination-bullet {width:0.94vw; height:0.94vw; margin:0 !important; border-radius:0;}
.hero-slider-button {width:2.5vw; height:2.5vw; background-position:top left; background-size:100% auto; background-repeat:no-repeat;}
.hero-slider-button::after {content:'';}
.hero-slider-button.prev {background-image:url(../images/arrow-left.svg); left:3.13vw;}
.hero-slider-button.next {background-image:url(../images/arrow-right.svg); right:3.13vw;}
.contact {padding:3.91vw 0 4.69vw; background:linear-gradient(to top right, #0086CC, #1498DC); color:#fff;}
.contact .content {display:flex; justify-content:center;}
.contact-inner {display:flex; flex-direction:column; gap:3.91vw;}
.contact-text {display:flex; flex-direction:column; align-items:center; gap:1.56vw;}
.contact-text h2 {color:#fff; font-size:2.5vw;}
.contact-text h3 {color:#fff; font-size:6.25vw; padding:1.56vw 0; border-top:1px solid #fff; border-bottom:1px solid #fff;}
.contact-text p {font-size:2.5vw; font-weight:700;}
.contact-action {display:flex; gap:3.91vw;}

.intro {position:relative;}
.intro::before,
.intro::after {position:absolute; content:''; top:-1.56vw; left:0; width:100%; height:calc(100% + 23vw + 1.56vw);}
.intro::before {background:url(../images/bg-intro.svg) 0 0 / 100% auto no-repeat; mix-blend-mode:hard-light; z-index:-1;}
.intro::after {background-color:#fff; z-index:-10;}
.intro-text:not(:first-child) {margin-top:3.13vw;}
.intro-text h3 {text-align:center;}
.intro-text p {margin-top:2.34vw; color:#0086CC; font-size:1.56vw; font-weight:700;}
.intro-feature-list {display:grid; grid-template-columns:repeat(3, 1fr); gap:1.56vw; margin-top:3.13vw;}
.intro-feature-list__item {}
.intro-feature-list__item span {display:block; text-align:center; color:#0086CC; font-size:2.5vw; font-weight:400;}
.intro-feature-list__item span i {display:inline-block; width:3.13vw; font-style:normal; border-bottom:1px solid #E0E0E0;}
.intro-feature-list__item h4 {margin-top:1.56vw; text-align:center; line-height:1.25;}
.intro-feature-list__item figure {margin-top:1.56vw;}
.intro-feature-list__item p {margin-top:1.56vw;}
.intro-thought-list {display:grid; grid-template-columns:repeat(2, 1fr); margin-top:3.13vw;}
.intro-thought-list__item {padding:2.34vw; background-color:#fff; border:1px solid #0086CC;}
.intro-thought-list__item:nth-child(n+3) {border-top:none;}
.intro-thought-list__item:nth-child(odd) {border-right:none;}
.intro-thought-list__item h4 {text-align:center; line-height:1.25;}
.intro-thought-list__item p {margin-top:1.56vw;}
.intro-thought-list__item figure {display:flex; justify-content:center; align-items:center; height:16.41vw; margin-top:1.56vw;}
.masters-slider-wrapper {transition-timing-function:linear !important;}
.masters-slide h4 {margin-top:1.56vw; text-align:center;}
.masters-slide p {margin-top:1.56vw; font-size:0.94vw; font-weight:700;}
.schedule-list {display:flex; flex-direction:column; gap:1.17vw;}
.schedule-list__item {display:flex; justify-content:space-between; align-items:center; gap:1.95vw; padding:1.95vw; background-color:#fff; border-radius:1.25vw; box-shadow:0 0 0.31vw rgba(0, 0, 0, .25);}
.schedule-list__item .text {flex:1;}
.schedule-list__item .text span {display:inline-flex; justify-content:center; align-items:center; height:3.13vw; padding:0 0.78vw; background-color:#0086CC; color:#fff; font-size:1.56vw; font-weight:bold; line-height:1;}
.schedule-list__item .text h3 {margin-top:1.56vw;}
.schedule-list__item .text p {margin-top:1.56vw; font-size:1.56vw; line-height:1;}
.schedule-list__item .thumbnail {flex:0 0 9.84vw;}
.schedule-list__item .thumbnail figure {border-radius:50%; overflow:hidden;}
.schedule-note {margin-top:1.56vw;}
.course-outline .heading h2 {color:#fff;}
.course-outline-list {padding:3.13vw; background-color:#fff; border-radius:1.25vw; box-shadow:0 0 0.31vw rgba(0, 0, 0, .25);}
.course-outline-list__item {padding-top:3.13vw;}
.course-outline-list__item:first-child {padding-top:0;}
.course-outline-list__item:not(:last-child) {padding-bottom:3.13vw; border-bottom:1px solid #E0E0E0;}
.course-outline-list__item dl {display:flex; gap:2.73vw; margin:0;}
.course-outline-list__item dl dt {flex:0 0 10vw;}
.course-outline-list__item dl dd {flex:1; margin-left:0;}
.course-outline-list__item p:not(:first-child) {margin-top:1.56vw;}
.course-outline-text {margin-top:3.91vw; color:#fff; line-height:1.5;}
.aoyama-ms-project {background:url(../images/aoyama-ms-project.jpg) center center / cover no-repeat;}
.aoyama-ms-project-list {display:flex; justify-content:space-between; padding:3.91vw 0 3.13vw;}
.aoyama-ms-project-list__item {flex:0 0 50%;}
.aoyama-ms-project-list__item:nth-child(1) {padding-left:12.5vw;}
.aoyama-ms-project-list__item:nth-child(2) {padding-right:5.08vw;}
.aoyama-ms-project-list__item-logo {width:17.89vw;}
.aoyama-ms-project-list__item-heading {}
.aoyama-ms-project-list__item-heading h2 {margin-top:1.56vw; color:#65C195; font-family:'Noto Serif JP', serif; font-size:4.38vw; font-weight:500;}
.aoyama-ms-project-list__item-heading p {margin-top:1.17vw; color:#65C195; font-family:'Noto Serif JP', serif; font-size:2.5vw; font-weight:500;}
.aoyama-ms-project-list__item-text {margin-top:3.91vw;}
.aoyama-ms-project-list__item-text h3 {font-size:5vw; text-shadow:0 0 0.63vw rgba(255, 255, 255, .8);}
.aoyama-ms-project-list__item-text p {margin-top:1.56vw;}
.faq {margin-bottom:3.91vw;}
.faq-list {display:flex; flex-direction:column; gap:1.17vw;}
.faq-list__item {}
.faq-list__item .question {position:relative; padding:2.19vw 6.25vw; background:#F2F2F2 url(../images/icon-question.svg) 1.88vw 1.72vw / 2.34vw 2.66vw no-repeat; border:1px solid #E0E0E0; color:#0086CC; font-weight:700; line-height:1.5; cursor:pointer; transition:all .2s ease-in-out;}
.faq-list__item .question:hover {background-color:#fff;}
.faq-list__item .question::after {position:absolute; content:''; top:0; right:0; width:6.25vw; height:100%; background:url(../images/icon-arrow.svg) center center / 1.25vw 0.7vw no-repeat;}
.faq-list__item .answer {display:none; padding:1.56vw 1.95vw 1.56vw 6.25vw; background:url(../images/icon-answer.svg) 1.95vw 1.72vw / 2.34vw 2.42vw no-repeat; border:1px solid #E0E0E0; color:#000;}
.faq-list__item.open .question::after {transform:rotate(-180deg);}
.supporter h2 {padding-bottom:1.95vw; border-bottom:1px solid #0086CC; font-size:1.88vw;}
.supporter-list {display:flex; flex-wrap:wrap; justify-content:flex-start; align-items:center; gap:2.34vw; margin-top:3.91vw;}
.supporter-list__item figure img {max-width:21.09vw; max-height:3.28vw; width:auto; height:auto;}
.supporter-list__item.sm figure img {max-width:12.5vw;}
.about-list {display:flex; justify-content:space-between; gap:4.69vw; margin-top:3.91vw;}
.about-list__item {flex:1;}
.about-list__item figure {}
.about-list__item h3 {margin-top:1.56vw; font-size:1.56vw;}
.about-list__item p {margin-top:0.78vw; font-size:1.09vw;}

.page-header {margin-top:2.73vw;}
.page-header h1 {text-align:center; font-size:2.5vw;}
.page-content {margin-top:4.69vw;}
.page-content .editor a {color:#0000EE;}
.page-content .editor a:hover {text-decoration:underline;}

.form-group:not(:first-child) {margin-top:2.34vw; padding-top:2.34vw; border-top:1px solid #E0E0E0;}
.form-group-row {display:flex; flex-direction:column; gap:1.56vw;}
.form-group-row-label {display:flex; justify-content:flex-start; align-items:center; gap:0.39vw; font-weight:700;}
.form-group-row-label span {display:inline-flex; justify-content:center; align-items:center; height:1.3vw; padding:0; font-size:0.94vw; font-weight:400; line-height:1;}
.form-group-row-label .required {color:#EC0000;}
.form-group-row-label .no-required {color:#8C8C8C;}
.form-group-row-content {flex:1; display:flex; gap:2.34vw;}
.form-group-row-content > * {flex:1;}
.form-group-button {margin-top:3.13vw;}
.form-control {width:100%; padding:1.56vw; background-color:#F2F2F2; border:1px solid #E0E0E0; border-radius:0; font-size:1.25vw;}
textarea.form-control {min-height:7.81vw;}
.wpcf7-list-item {margin:0 !important;}
.wpcf7-list-item:not(:first-child) {margin:0 0 0 2.34vw !important;}
.wpcf7-spinner {display:block !important;}

body.page-template-tpl-about .page .overview h2 {margin-top:7.03vw; font-size:5vw;}
body.page-template-tpl-about .page .overview h3 {margin-top:2.34vw; font-size:2.5vw; line-height:1.5;}
body.page-template-tpl-about .page .overview h3:first-child {margin-top:3.91vw;}
body.page-template-tpl-about .page .overview p {margin-top:2.34vw; color:#000; font-size:1.56vw; font-weight:500;}
body.page-template-tpl-about .page .overview figure {margin-top:3.91vw;}
body.page-template-tpl-about .page .contents h4.about-heading {position:relative; margin-top:3.91vw; padding-bottom:2.34vw; font-size:2.5vw;}
body.page-template-tpl-about .page .contents h4.about-heading::before {position:absolute; content:''; bottom:0; left:0; width:3.52vw; height:1px; background-color:#0086CC;}
body.page-template-tpl-about .page .contents h2 {margin-top:1.56vw; font-size:3.75vw; line-height:1.5;}
body.page-template-tpl-about .page .contents p {margin-top:3.91vw; color:#515151; font-size:1.56vw; font-weight:500;}
body.page-template-tpl-about .page .contents .flow-list {display:flex; flex-direction:column; align-items:flex-start; gap:4.69vw; margin-top:2.34vw;}
body.page-template-tpl-about .page .contents .flow-list__item {position:relative; padding:0.78vw 2.34vw; background-color:#0086CC; color:#fff; font-size:2.5vw; font-weight:700;}
body.page-template-tpl-about .page .contents .flow-list__item:not(:last-child)::before {position:absolute; content:''; bottom:-2.81vw; left:3.52vw; width:1.88vw; height:0.94vw; background:url(../images/about/icon-arrow.svg) 0 0 / 100% auto no-repeat;}
body.page-template-tpl-about .page .contents blockquote {margin:3.13vw 0 0; padding:0 0 0 1.17vw; border-left:4px solid #0086CC; color:#0086CC; font-size:2.5vw; font-weight:700;}
body.page-template-tpl-about .page .contents .about-feature-list {display:grid; grid-template-columns:repeat(3, 1fr); gap:1.56vw; margin-top:3.13vw;}
body.page-template-tpl-about .page .contents .about-feature-list__item {padding:2.34vw; background-color:#F2F2F2; border-radius:1.25vw;}
body.page-template-tpl-about .page .contents .about-feature-list__item span {display:block; text-align:center; color:#0086CC; font-size:2.5vw; font-weight:400;}
body.page-template-tpl-about .page .contents .about-feature-list__item span i {display:inline-block; width:3.13vw; font-style:normal; border-bottom:1px solid #E0E0E0;}
body.page-template-tpl-about .page .contents .about-feature-list__item h3 {margin-top:1.56vw; text-align:center; font-size:3.75vw; font-weight:500;}
body.page-template-tpl-about .page .contents .about-feature-list__item h4 {margin-top:1.56vw; text-align:center; font-size:1.56vw; font-weight:500;}
body.page-template-tpl-about .page .contents .about-feature-list__item p {margin-top:2.34vw; font-size:1.25vw; font-weight:400;}
body.page-template-tpl-about .page .cta h3 {font-size:2.5vw;}
body.page-template-tpl-about .page .cta p {margin-top:1.56vw; color:#0086CC; font-size:1.56vw; font-weight:700;}
body.page-template-tpl-about .page .cta .cta-button {margin-top:3.13vw;}

@media (max-width:767px) {
    /* common */
    body {min-width:inherit; font-size:14px;}

    /* util */
    #wrapper {padding-top:70px;}
    #content {padding:50px 0 90px;}
    body:not(.home) #content {padding-top:0;}
    .container,
    .container-sm,
    .container-lg,
    .container-fluid {max-width:inherit; width:100%; padding-left:20px; padding-right:20px;}
    .button {width:100%; height:40px; padding:0 20px; border-radius:40px; font-size:14px;}
    .button.sm {height:30px; padding:0 10px; border-radius:30px; font-size:14px;}
    .breadcrumbs {margin:0 20px; padding:10px 0;}
    .breadcrumbs span > a,
    .breadcrumbs span > span {font-size:12px;}
    .breadcrumbs i {margin:0 5px; font-size:12px;}
    .pager {min-height:1.56vw;}
    .bg-light {padding:50px 0;}
    .bg-primary {padding:50px 0;}
    .modal__container {margin-left:20px; margin-right:20px; padding:20px; border-radius:10px; box-shadow:0 0 5px rgba(0, 0, 0, .25);}
    .modal__container .container {padding:0;}
    .modal__content-row {flex-direction:column; gap:20px;}
    .modal__content-row__col:nth-child(1) {flex:1;}
    .modal__content-row__col:nth-child(2) {flex:1; padding-left:0; border-left:none; padding-top:30px; border-top:1px solid #E0E0E0;}
    .modal__content-row__col-image h3 {margin-top:10px; font-size:20px;}
    .modal__content-row__col-image p {margin-top:10px; font-size:14px;}
    .modal__content-row__col-text h3 {font-size:16px;}
    .modal__content-row__col-text h3:not(:first-child) {margin-top:30px;}
    .modal__content-row__col-text p {margin-top:10px; font-size:14px;}

    /* header */
    .header,
    body.scrolling .header {height:70px;}
    .header-inner {align-items:center; padding:0;}
    body.scrolling .header-inner {padding:0;}
    .header-brand {width:150px;}
    body.scrolling .header-brand {width:150px;}
    .header-brand p {display:none;}
    body.scrolling .header-brand p {display:none;}
    .header-action {gap:20px;}
    .header-contact {padding-left:30px !important;}
    .header-contact::before {left:10px;}
    .header-sns {display:none;}
    .sns-list {gap:10px;}
    .sns-list > li img {width:30px;}
    .button-hamburger {width:18px; height:18px;}
    .button-hamburger-bar {right:0; width:18px; height:3px; border-radius:2px;}
    .button-hamburger .button-hamburger-bar:nth-child(1) {top:calc(50% - 7px);}
    .button-hamburger .button-hamburger-bar:nth-child(2) {top:calc(50% - 1.5px);}
    .button-hamburger .button-hamburger-bar:nth-child(3) {top:calc(50% + 5px);}
    .button-hamburger.open .button-hamburger-bar:nth-child(1) {top:calc(50% - 1px); width:18px; left:calc(50% - 9px);}
    .button-hamburger.open .button-hamburger-bar:nth-child(3) {top:calc(50% - 1px); width:18px; left:calc(50% - 9px);}
    .header-nav {height:auto; padding-top:70px; padding-bottom:30px;}
    .header-nav-global-list > li:not(:last-child) {margin-bottom:30px;}
    .header-nav-global-list > li a {font-size:20px;}

    /* footer */
    .footer {padding:30px 0 70px;}
    .footer-nav {gap:10px; flex-direction:column; margin-top:30px;}
    .footer-nav-list {gap:10px;}
    .footer-nav-list > li a {font-size:14px;}
    .footer-nav-information {margin-top:10px; margin-left:0;}
    .footer-nav-information-button {gap:10px;}
    .footer-nav-information-detail {gap:10px; margin-top:20px;}
    .footer-nav-information-detail a {font-size:20px;}
    .footer-nav-information-detail a img {width:20px; margin-right:5px;}
    .footer-sns {position:fixed; bottom:20px; right:20px;}
    .footer-copyright {margin-top:30px;}
    .footer-copyright p {font-size:12px;}

    /* mod */
    .section:not(:first-child) {margin-top:50px;}
    .heading {margin-bottom:30px;}
    .heading h2 .en {font-size:40px;}
    .heading h2 .ja {margin-top:30px; font-size:16px;}
    .heading p {margin-top:30px; font-size:16px;}
    .content h3 {font-size:20px; line-height:1.5;}
    .content h4 {font-size:18px; line-height:1.5;}
    hr {margin:40px 0 0;}
    .note {font-size:12px;}

    .-pc {display:none;}
    .-sp {display:block;}

    /* content */
    .hero .container-fluid {padding-left:0; padding-right:0;}
    .hero-slider {}
    .hero-slider-pagination {top:0; right:0; gap:10px;}
    .hero-slider-pagination .swiper-pagination-bullet {width:10px; height:10px;}
    .hero-slider-button {width:30px; height:30px;}
    .hero-slider-button.prev {left:20px;}
    .hero-slider-button.next {right:20px;}
    .contact {padding:30px 0;}
    .contact-inner {gap:10px;}
    .contact-text {gap:10px;}
    .contact-text h2 {font-size:16px;}
    .contact-text h3 {font-size:40px; padding:10px 0;}
    .contact-text p {font-size:16px;}
    .contact-action {gap:10px;}

    .intro::before,
    .intro::after {top:0; height:calc(100% + 100px); display:none;}
    .intro-text:not(:first-child) {margin-top:30px;}
    .intro-text p {margin-top:20px; font-size:16px; }
    .intro-feature-list {grid-template-columns:repeat(1, 1fr); gap:16px; margin-top:30px;}
    .intro-feature-list__item span {font-size:40px;}
    .intro-feature-list__item span i {width:30px;}
    .intro-feature-list__item h4 {margin-top:20px;}
    .intro-feature-list__item figure {margin-top:20px;}
    .intro-feature-list__item p {margin-top:20px;}
    .intro-thought-list {grid-template-columns:repeat(1, 1fr); margin-top:30px;}
    .intro-thought-list__item {padding:20px;}
    .intro-thought-list__item:nth-child(n+2) {border-top:none;}
    .intro-thought-list__item:nth-child(odd) {border-right:1px solid #0086CC;}
    .intro-thought-list__item p {margin-top:20px;}
    .intro-thought-list__item figure {height:150px; margin-top:20px;}
    .intro-thought-list__item figure img {max-width:100%; max-height:100%;}
    .masters-slide h4 {margin-top:20px;}
    .masters-slide p {margin-top:20px; padding:0 10px; font-size:14px;}
    .schedule-list {gap:20px;}
    .schedule-list__item {gap:10px; padding:10px; border-radius:10px; box-shadow:0 0 5px rgba(0, 0, 0, .25);}
    .schedule-list__item .text span {height:30px; padding:0 10px; font-size:14px;}
    .schedule-list__item .text h3 {margin-top:10px;}
    .schedule-list__item .text p {margin-top:10px; font-size:14px; line-height:1.5;}
    .schedule-list__item .thumbnail {flex:0 0 70px;}
    .schedule-note {margin-top:20px;}
    .course-outline-list {padding:20px; border-radius:10px; box-shadow:0 0 5px rgba(0, 0, 0, .25);}
    .course-outline-list__item {padding-top:30px;}
    .course-outline-list__item:first-child {padding-top:0;}
    .course-outline-list__item:not(:last-child) {padding-bottom:30px;}
    .course-outline-list__item dl {flex-direction:column; gap:10px;}
    .course-outline-list__item dl dt {flex:1;}
    .course-outline-list__item dl dd {flex:1;}
    .course-outline-list__item p:not(:first-child) {margin-top:20px;}
    .course-outline-text {margin-top:30px;}
    .aoyama-ms-project {}
    .aoyama-ms-project-list {flex-direction:column; padding:30px 0;}
    .aoyama-ms-project-list__item {flex:1;}
    .aoyama-ms-project-list__item:nth-child(1) {padding-left:0; text-align:right;}
    .aoyama-ms-project-list__item:nth-child(2) {padding-right:0;}
    .aoyama-ms-project-list__item-logo {width:200px; margin-top:20px; margin-left:auto;}
    .aoyama-ms-project-list__item-heading {text-align:right;}
    .aoyama-ms-project-list__item-heading h2 {margin-top:20px; font-size:24px;}
    .aoyama-ms-project-list__item-heading p {margin-top:10px; font-size:14px;}
    .aoyama-ms-project-list__item-text {margin-top:30px;}
    .aoyama-ms-project-list__item-text h3 {text-align:right; font-size:20px; text-shadow:0 0 5px rgba(255, 255, 255, .8);}
    .aoyama-ms-project-list__item-text p {margin-top:20px;}
    .faq {margin-bottom:50px;}
    .faq-list {gap:10px;}
    .faq-list__item .question {padding:10px 30px; background-position:7.5px 12px; background-size:15px auto;}
    .faq-list__item .question::after {width:30px; height:100%; background-size:10px auto;}
    .faq-list__item .answer {display:none; padding:10px 20px 10px 30px; background-position:7.5px 12px; background-size:15px auto;}
    .supporter h2 {padding-bottom:10px; font-size:20px;}
    .supporter-list {justify-content:center; gap:20px; margin-top:30px;}
    .supporter-list__item figure img {max-width:180px; max-height:40px;}
    .supporter-list__item.sm figure img {max-width:100px;}
    .about-list {flex-direction:column; gap:20px; margin-top:30px;}
    .about-list__item {flex:1;}
    .about-list__item figure {text-align:center;}
    .about-list__item h3 {margin-top:20px; text-align:center; font-size:16px;}
    .about-list__item p {margin-top:10px; text-align:center; font-size:14px;}

    .page-header {margin-top:50px;}
    .page-header h1 {font-size:24px;}
    .page-content {margin-top:50px;}

    .form-group:not(:first-child) {margin-top:20px; padding-top:20px;}
    .form-group-row {gap:10px;}
    .form-group-row-label {gap:5px;}
    .form-group-row-label span {height:40px; padding:0; font-size:14px;}
    .form-group-row-content {gap:20px;}
    .form-group-button {margin-top:30px;}
    .form-control {padding:10px; font-size:14px;}
    textarea.form-control {min-height:150px; line-height:1.5;}
    .wpcf7-radio {}
    .wpcf7-list-item {display:block !important; margin:0 !important;}
    .wpcf7-list-item:not(:first-child) {margin:0 0 0 0 !important;}
    .wpcf7-spinner {display:block !important;}

    body.page-template-tpl-about .page .overview h2 {margin-top:50px; font-size:30px;}
    body.page-template-tpl-about .page .overview h3 {margin-top:20px; font-size:20px;}
    body.page-template-tpl-about .page .overview h3:first-child {margin-top:30px;}
    body.page-template-tpl-about .page .overview p {margin-top:20px; font-size:16px;}
    body.page-template-tpl-about .page .overview figure {margin-top:30px;}
    body.page-template-tpl-about .page .contents h4.about-heading {margin-top:30px; padding-bottom:20px; font-size:20px;}
    body.page-template-tpl-about .page .contents h4.about-heading::before {width:30px;}
    body.page-template-tpl-about .page .contents h2 {margin-top:20px; font-size:20px;}
    body.page-template-tpl-about .page .contents p {margin-top:30px; font-size:16px;}
    body.page-template-tpl-about .page .contents .flow-list {gap:30px; margin-top:20px;}
    body.page-template-tpl-about .page .contents .flow-list__item {padding:10px 20px; font-size:18px;}
    body.page-template-tpl-about .page .contents .flow-list__item:not(:last-child)::before {bottom:-20px; left:20px; width:20px; height:10px;}
    body.page-template-tpl-about .page .contents blockquote {margin:30px 0 0; padding:0 0 0 10px; font-size:16px;}
    body.page-template-tpl-about .page .contents .about-feature-list {grid-template-columns:repeat(1, 1fr); gap:20px; margin-top:30px;}
    body.page-template-tpl-about .page .contents .about-feature-list__item {padding:20px; border-radius:10px;}
    body.page-template-tpl-about .page .contents .about-feature-list__item span {font-size:30px;}
    body.page-template-tpl-about .page .contents .about-feature-list__item span i {width:30px;}
    body.page-template-tpl-about .page .contents .about-feature-list__item h3 {margin-top:20px; font-size:30px;}
    body.page-template-tpl-about .page .contents .about-feature-list__item h4 {margin-top:20px; font-size:16px;}
    body.page-template-tpl-about .page .contents .about-feature-list__item p {margin-top:20px; font-size:14px;}
    body.page-template-tpl-about .page .cta h3 {font-size:20px; line-height:1.5;}
    body.page-template-tpl-about .page .cta p {margin-top:20px; font-size:16px;}
    body.page-template-tpl-about .page .cta .cta-button {margin-top:30px;}
}
