/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */

html {
	line-height: 1.15;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%
  }
  
  body {
	margin: 0
  }
  
  article, aside, footer, header, nav, section {
	display: block
  }
  
  figcaption, figure, main {
	display: block
  }
  
  hr {
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	height: 0;
	overflow: visible
  }
  
  pre {
	font-family: monospace, monospace;
	font-size: 1em
  }
  
  a {
	background-color: transparent;
	-webkit-text-decoration-skip: objects
  }
  
  abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted
  }
  
  b, strong {
	font-weight: inherit
  }
  
  b, strong {
	font-weight: bolder
  }
  
  code, kbd, samp {
	font-family: monospace, monospace;
	font-size: 1em
  }
  
  dfn {
	font-style: italic
  }
  
  mark {
	background-color: #ff0;
	color: #000
  }
  
  small {
	font-size: 80%
  }
  
  sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline
  }
  
  sub {
	bottom: -.25em
  }
  
  sup {
	top: -.5em
  }
  
  audio, video {
	display: inline-block
  }
  
  audio:not([controls]) {
	display: none;
	height: 0
  }
  
  img {
	border-style: none
  }
  
  svg:not(:root) {
	overflow: hidden
  }
  
  button, input, optgroup, select, textarea {
	font-family: sans-serif;
	font-size: 100%;
	line-height: 1.15;
	margin: 0
  }
  
  button, input {
	overflow: visible
  }
  
  button, select {
	text-transform: none
  }
  
  button, html [type="button"], [type="reset"], [type="submit"] {
	-webkit-appearance: button
  }
  
  button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0
  }
  
  button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText
  }
  
  fieldset {
	padding: .35em .75em .625em
  }
  
  legend {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal
  }
  
  progress {
	display: inline-block;
	vertical-align: baseline
  }
  
  textarea {
	overflow: auto
  }
  
  [type="checkbox"], [type="radio"] {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0
  }
  
  [type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
	height: auto
  }
  
  [type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px
  }
  
  [type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
	-webkit-appearance: none
  }
  
  ::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit
  }
  
  details, menu {
	display: block
  }
  
  summary {
	display: list-item
  }
  
  canvas {
	display: inline-block
  }
  
  template {
	display: none
  }
  
  [hidden] {
	display: none
  }
  
  @font-face {
	font-family: 'otome2017';
	src: url(../fonts/otome2017.eot?ex6y4m);
	src: url("../fonts/otome2017.eot?ex6y4m#iefix") format("embedded-opentype"), url(../fonts/otome2017.ttf?ex6y4m) format("truetype"), url(../fonts/otome2017.woff?ex6y4m) format("woff"), url("../fonts/otome2017.svg?ex6y4m#otome2017") format("svg");
	font-weight: 400;
	font-style: normal
  }
  
  [class^="iconf-"], [class*=" iconf-"] {
	font-family: 'otome2017'!important;
	speak: none;
	font-style: normal;
	font-weight: 400;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale
  }
  
  .iconf-mark:before {
	content: "\e900"
  }
  
  .iconf-arrow:before {
	content: "\e901"
  }
  
  .iconf-brochure:before {
	content: "\e902"
  }
  
  .slick-loading .slick-list {
	background: #fff url(./ajax-loader.gif) center center no-repeat
  }
  
  .slick-prev, .slick-next {
	position: absolute;
	display: block;
	z-index: 1;
	height: 60px;
	width: 60px;
	line-height: 0;
	font-size: 0;
	cursor: pointer;
	border-radius: 50%;
	background: #994799;
	color: transparent;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
	padding: 0;
	border: none;
	outline: none
  }
  
  .slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
	outline: none;
	color: transparent
  }
  
  .slick-prev:hover:before, .slick-prev:focus:before, .slick-next:hover:before, .slick-next:focus:before {
	opacity: 1
  }
  
  .slick-prev.slick-disabled:before, .slick-next.slick-disabled:before {
	opacity: .25
  }
  
  .slick-prev:before, .slick-next:before {
	font-size: 26px;
	line-height: .5;
	color: #fff;
	opacity: .75;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale
  }
  
  .slick-prev {
	left: 22px
  }
  
  [dir="rtl"] .slick-prev {
	left: auto;
	right: 22px
  }
  
  .slick-prev:before {
	content: "<"
  }
  
  [dir="rtl"] .slick-prev:before {
	content: ">"
  }
  
  .slick-next {
	right: 22px
  }
  
  [dir="rtl"] .slick-next {
	left: 22px;
	right: auto
  }
  
  .slick-next:before {
	content: ">"
  }
  
  [dir="rtl"] .slick-next:before {
	content: "<"
  }
  
  /*! * Site style */
  
  html, body {
	height: 100%
  }
  
  html {
	font-size: 100%
  }
  
  body {
	color: #000
  }
  
  h1, h2, h3, h4, p, dl {
	margin-top: 0;
	margin-bottom: 0
  }
  
  p {
	line-height: 1.6
  }
  
  img {
	max-width: 100%;
	vertical-align: bottom
  }
  
  figure {
	margin: 0
  }
  
  option {
	padding: 0
  }
  
  ul, ol {
	margin-top: 0;
	margin-bottom: 0;
	padding-left: 0
  }
  
  li {
	list-style: none
  }
  
  dd {
	margin-left: 0
  }
  
  i, cite, em, var, address, dfn {
	font-style: normal
  }
  
  input, textarea, keygen, select, button {
	font-family: inherit
  }
  
  textarea {
	resize: vertical
  }
  
  button, label {
	cursor: pointer
  }
  
  body {
	font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Verdana, 'Hiragino Kaku Gothic Pro', Meiryo, sans-serif
  }
  
  .l-applicationLink {
	max-width: 36rem;
	margin-right: auto;
	margin-left: auto
  }
  
  .l-applicationLink a {
	display: block;
	position: relative
  }
  
  .l-applicationLink a::before, .l-applicationLink a::after {
	content: "";
	position: absolute;
	bottom: 0;
	background-color: rgba(0, 0, 0, .2)
  }
  
  .l-applicationLink a::before {
	left: 0;
	width: 100%;
	height: .25rem;
	-webkit-transform: translate(.25rem, 100%);
	-ms-transform: translate(.25rem, 100%);
	transform: translate(.25rem, 100%)
  }
  
  .l-applicationLink a::after {
	right: 0;
	width: .25rem;
	height: calc(100% - 19.1%);
	-webkit-transform: translateX(100%);
	-ms-transform: translateX(100%);
	transform: translateX(100%)
  }
  
  .l-outer {
	background-color: transparent;
	background-repeat: no-repeat;
	background-image: url(../images/bg/bg.jpg), url(../images/bg/bg.jpg), url(../images/bg/bg.jpg);
	background-position: -90px 3074px, -90px 7700px, 190% 9790px;
	background-size: 72% auto
  }
  
  .l-outer_lecture-message {
	background-color: transparent;
	background-repeat: no-repeat;
	background-image: url(../images/bg/message.png), url(../images/bg/lecture.png);
	/* background-position: -60% 930px, 174% 40px;
	background-size: 80% auto */
	background-position: -60% 930px, 130% 0px;
	background-size: 80% auto, 54% auto
  }
  
  .p-contact {
	max-width: 62.5rem;
	margin-right: auto;
	margin-left: auto
  }
  
  .p-contact::before {
	content: "";
	position: absolute;
	top: -14px;
	left: 0;
	width: 314px;
	height: 195px;
	background: transparent url(../images/character/contact_top.png) 0 0 no-repeat
  }
  
  .p-lecture::before {
	content: "";
	position: absolute;
	top: -20px;
	left: 0;
	width: 250px;
	height: 168px;
	background: transparent url(../images/character/lecture_top.png) 0 0 no-repeat
  }
  
  .p-lecture .note {
	text-align: center;
	padding-bottom: 2rem;
	margin-top: 1.45rem;
	font-size: 0.75rem;
  }
  
  .p-message::before {
	content: "";
	position: absolute;
	background: transparent url(../images/character/message_top.png) 0 0 no-repeat
  }
  
  .p-flow::before {
	content: "";
	position: absolute;
	z-index: 0;
	background: transparent url(../images/character/flow_top.png) 0 0 no-repeat
  }
  
  .p-outline::before {
	content: "";
	position: absolute;
	z-index: 0;
	background: transparent url(../images/character/outline_top.png) 0 0 no-repeat
  }
  
  .l-footer {
	background-color: #3f3f3f
  }
  
  .l-footer_inner {
	position: relative;
	max-width: 40rem;
	margin: auto;
	padding: 2.5rem 0 1.875rem;
	text-align: center
  }
  
  .l-footer_address {
	display: inline-block;
	text-align: left
  }
  
  .l-footer_address dt, .l-footer_address dd {
	display: table-cell;
	color: #fff;
	vertical-align: top
  }
  
  .l-footer_address .school {
	margin: .625rem
  }
  
  .l-footer_address .name {
	display: block;
	height: 1.625rem;
	margin-right: .25rem;
	padding-right: 1rem;
	padding-left: 1.125rem;
	border-radius: .875rem;
	font-size: .6875rem;
	white-space: nowrap;
	line-height: 1.5625rem
  }
  
  .l-footer_address .name.--tokyo {
	background-color: #d0326b
  }
  
  .l-footer_address .name.--osaka {
	background-color: #13b8be
  }
  
  .l-footer_address .address {
	padding-left: .375rem;
	font-size: .625rem;
	line-height: 1.3
  }
  
  .l-footer_address .tel {
	display: block;
	margin-top: .125rem;
	font-size: .75rem
  }
  
  .l-footer_logo {
	margin-top: 1rem
  }
  
  .l-gnav {
	background-color: rgba(255, 255, 255, .8)
  }
  
  .l-gnav ul {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
	max-width: 66.25rem;
	margin: auto
  }
  
  .l-gnav_item {
	position: relative;
	-webkit-flex: 1 1 auto;
	text-align: center
  }
  
  .l-gnav_item::before, .l-gnav_item::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 1px;
	height: 2.5rem;
	background-color: #cfa262;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%)
  }
  
  .l-gnav_item::before {
	left: -1px
  }
  
  .l-gnav_item::after {
	right: 0
  }
  
  .l-gnav_item:hover::after {
	right: -1px
  }
  
  .l-gnav_item:hover+.l-gnav_item::before {
	background-color: transparent
  }
  
  .l-gnav_item a {
	display: block;
	padding: .5rem .625rem .375rem;
	color: inherit;
	font-weight: 700;
	white-space: nowrap;
	text-decoration: none
  }
  
  .l-gnav_item a:hover, .l-gnav_item a:focus {
	background-color: rgba(173, 108, 173, .8);
	color: #fff
  }
  
  .l-gnav_item a:hover .en, .l-gnav_item a:focus .en {
	color: inherit
  }
  
  .l-gnav_item .en {
	display: block;
	margin-top: .125rem;
	color: #cfa262
  }
  
  .l-header {
	position: relative;
	height: 620px;
	background: #fff url(../images/bg/header_mobile.jpg) center top no-repeat;
	background-size: auto 100%
  }
  
  .l-header .u-flex {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
  }
  
  .l-header_top {
	background-color: rgba(255, 255, 255, .8)
  }
  
  .l-header_logo {
	float: left;
	width: 59.531%;
	max-width: 11.90625rem;
	margin-top: .375rem;
	-webkit-transform: translateX(.5rem);
	-ms-transform: translateX(.5rem);
	transform: translateX(.5rem)
  }
  
  .l-header_topRight {
	float: right;
	width: 37.5%
  }
  
  .l-header_applicationBtn {
	float: right;
	max-width: 8.5rem
  }
  
  .l-header_middle {
	text-align: center
  }
  
  .l-header_brochureBtn {
	display: inline-block;
	vertical-align: middle
  }
  
  .l-header_brochureBtn .c-fillBtn {
	display: inline-block;
	height: 2.5rem;
	padding-right: 1rem;
	padding-left: 1rem;
	font-size: .75rem;
	font-weight: 700;
	line-height: 2.5rem;
	text-decoration: none
  }
  
  .l-header_brochureBtn .c-fillBtn--black {
	background-color: #000;
	color: #fff
  }
  
  .l-header_brochureBtn i::before {
	display: inline-block;
	margin-top: -.125rem;
	margin-right: .375rem;
	font-size: .875rem;
	vertical-align: middle
  }
  
  .l-header_tel span {
	display: inline-block;
	margin-right: .375rem;
	padding: .25rem .5rem;
	background-color: #9a53a1;
	color: #fff;
	font-size: .625rem
  }
  
  .l-header_main {
	position: absolute;
	top: 90px;
	left: 0;
	width: 100%;
	text-align: center
  }
  
  .l-header_title, .l-header_date {
	display: block;
	margin: auto
  }
  
  .l-header_privilege, .l-header_directorSeminar {
	position: absolute;
	right: 0
  }
  
  .l-header_privilege {
	background: transparent url(../images/banner/privilege_349x140.png) -19px 0/100% auto no-repeat
  }
  
  .l-header_goContents a {
	position: absolute;
	top: 434px;
	left: 50%
  }
  
  .l-header_goContents a::before {
	content: "";
	display: block;
	width: 27px;
	height: 55px;
	background: transparent url(../images/icon/arrow-gorgeous.png) 0 0/contain no-repeat;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%)
  }
  
  .l-section {
	position: relative;
	z-index: 1;
	margin-right: auto;
	margin-left: auto;
	padding-top: 1.875rem;
	padding-bottom: 1.875rem
  }
  
  .l-section.p-feature {
	background-color: #a37d67
  }
  
  .l-section.p-curriculum {
	background-color: #0e1432
  }
  
  .l-section .l-applicationLink {
	margin-top: 1.25rem
  }
  
  .l-section_title {
	position: relative;
	z-index: 1;
	margin: 0 auto 2rem;
	text-align: center
  }
  
  .p-feature .l-section_title {
	width: 49.6875%
  }
  
  .p-outline .l-section_title {
	width: 49.6875%
  }
  
  .p-curriculum .l-section_title {
	width: 64.375%
  }
  
  .p-lecture .l-section_title {
	width: 49.6875%
  }
  
  .p-message .l-section_title {
	width: 57.8125%
  }
  
  .p-flow .l-section_title {
	width: 85.9375%
  }
  
  .p-contact .l-section_title {
	width: 64.375%
  }
  
  .c-box {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	position: relative;
	z-index: 4;
	margin-right: auto;
	margin-left: auto;
	padding: 1.25rem;
	border: 1px solid #d1b07b;
	background-color: rgba(255, 255, 255, .8);
	-webkit-box-shadow: 0 0 .25rem rgba(0, 0, 0, .3);
	box-shadow: 0 0 .25rem rgba(0, 0, 0, .3)
  }
  
  .c-box+.c-box {
	margin-top: 1rem
  }
  
  .c-box_head {
	position: relative;
	padding: 0 1.875rem 0 .25rem
  }
  
  .c-box_icon {
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%)
  }
  
  .c-box_title {
	font-size: 1rem;
	line-height: 1.4
  }
  
  .c-box_body {
	margin-top: 1.25rem
  }
  
  .c-box_body p {
	font-size: .75rem
  }
  
  .c-box_body p+p {
	margin-top: 1em
  }
  
  .c-box_body .image {
	margin: 1.25rem auto 0;
	text-align: center
  }
  
  .c-btnShadow {
	position: relative;
	-webkit-box-shadow: .25rem .25rem 0 rgba(0, 0, 0, .3);
	box-shadow: .25rem .25rem 0 rgba(0, 0, 0, .3)
  }
  
  .c-toggleIcon {
	display: inline-block;
	width: 1.25rem;
	height: .0625rem;
	background-color: #000
  }
  
  .c-toggleIcon::before {
	content: "";
	position: absolute;
	top: -.625rem;
	left: .625rem;
	display: inline-block;
	width: .0625rem;
	height: 1.25rem;
	background-color: #000
  }
  
  .is-open .c-toggleIcon::before {
	opacity: 0
  }
  
  .c-triIcon::before {
	content: "\25b6";
	display: inline-block
  }
  
  .p-bgImage {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	position: relative;
	width: 100%;
	min-height: 100vh;
	padding-top: 3.125rem;
	overflow: hidden
  }
  
  .p-bgImage::before {
	content: "";
	position: absolute;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100vh;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: auto 100%
  }
  
  .p-bgImage:not(.no-fixed--bottom)::before {
	top: 0;
	background-size: cover
  }
  
  .p-bgImage_inner {
	position: relative;
	z-index: 1;
	height: 100%
  }
  
  .p-feature::before {
	background-image: url(../images/bg/feature_sp.jpg)
  }
  
  .p-curriculum::before {
	background-image: url(../images/bg/curriculum_sp.jpg)
  }
  
  .p-brochure {
	height: 19.75rem;
	background-color: #222
  }
  
  .p-brochure_bg {
	position: relative;
	max-width: 66.5rem;
	margin: auto;
	height: 100%;
	background: transparent url(../images/bg/slash.png) 0 0 no-repeat;
	color: #fff
  }
  
  .p-brochure_bg::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	z-index: 1;
	width: 50%;
	margin-left: -100%;
	background-color: #000
  }
  
  .p-brochure_inner {
	position: relative;
	width: 18.5rem;
	margin: auto;
	padding-top: 3.125rem
  }
  
  .p-brochure_title {
	margin: 0 0 1.875rem 5.75rem;
	font-size: 1.5rem
  }
  
  .p-brochure_title::before {
	content: "";
	display: block;
	width: 150px;
	height: 18px;
	margin-bottom: .1875rem;
	background: transparent url(../images/logo_vga-simple.png) 0 0/cover no-repeat
  }
  
  .p-brochure p {
	font-size: .75rem
  }
  
  .p-brochure_btn {
	margin-top: 1.375rem;
	padding-bottom: .5rem
  }
  
  .p-brochure_btn a {
	display: inline-block;
	padding: .875rem 2.6875rem;
	background-color: #d7000f;
	color: inherit;
	font-size: .75rem;
	font-weight: 700;
	text-decoration: none;
	line-height: 1.5
  }
  
  .p-brochure_btn .u-flex {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
  }
  
  .p-brochure_btn i::before {
	margin-right: .625rem;
	font-size: 1.875rem
  }
  
  .p-brochure_image {
	position: absolute;
	top: 1.5rem;
	right: 50%;
	width: 4.6875rem;
	max-width: 21.3125rem;
	-webkit-transform: translateX(-4.625rem);
	-ms-transform: translateX(-4.625rem);
	transform: translateX(-4.625rem)
  }
  
  .p-brochure_chara::before {
	content: "";
	position: absolute;
	left: -3.625rem;
	bottom: -.625rem;
	width: 12.9375rem;
	height: 14.1875rem;
	background: transparent url(../images/character/brochure.png) 0 0 no-repeat
  }
  
  .p-contact {
	max-width: 62.5rem;
	margin-right: auto;
	margin-left: auto
  }
  
  .p-contact_tel {
	text-align: center;
	margin-top: auto;
	margin-bottom: auto;
  }
  
  .p-contact_tel p {
	margin-bottom: .625rem;
	font-weight: 700
  }
  
  .p-contact_tel p:last-child {
	font-size: .625rem
  }
  
  .p-contact_tel p span {
	position: relative;
	display: inline-block;
	margin-right: 1.625rem;
	padding: .125rem .75rem;
	background-color: #9a53a1;
	color: #fff;
	font-size: .75rem;
	font-weight: 400;
	vertical-align: middle
  }
  
  .p-contact_tel p span::after {
	content: "\25b6";
	position: absolute;
	top: 50%;
	right: -1.125rem;
	color: #9a53a1;
	font-size: .625rem;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%)
  }
  
  .p-contact_form {
	text-align: center
  }
  
  .p-contact_formBtn {
	display: inline-block;
	padding: .875rem 1.875rem;
	background-color: #000;
	color: #fff;
	font-size: .75rem;
	text-decoration: none
  }
  
  .chara-contactBtn {
	display: block
  }
  
  .p-curriculum_head {
	max-width: 62.5rem;
	margin: 0 auto 1.25rem
  }
  
  .p-curriculum_directorSeminar {
	margin-top: 1.25rem
  }
  
  .p-curriculum_label {
	display: inline-block;
	margin-bottom: .625rem;
	padding: .1875rem .375rem;
	background-color: #9a53a1;
	color: #fff;
	font-size: .75rem;
	font-weight: 700;
	text-align: center;
	font-feature-settings: "palt";
	letter-spacing: .1em
  }
  
  .p-curriculum_time {
	margin-left: .5rem;
	font-size: .75rem;
	font-weight: 700
  }
  
  .p-curriculum .message-swipe {
	position: relative;
	margin-bottom: .5rem;
	padding: .875rem .625rem;
	border-radius: 3px;
	background-color: #eed5f1
  }
  
  .p-curriculum .message-swipe p {
	padding-left: 1.875rem;
	color: #9a53a1;
	font-size: .875rem
  }
  
  .p-curriculum .message-swipe p::before {
	content: "";
	position: absolute;
	top: 50%;
	left: .625rem;
	width: 1.25rem;
	height: 1.40625rem;
	margin-top: -.875rem;
	margin-right: .625rem;
	background: transparent url(../images/icon/swipe.png) 0 0/cover no-repeat
  }
  
  #gds .c-box_title {
	margin-bottom: .625rem
  }
  
  .p-feature_point .c-box_head {
	padding-top: 1.25rem
  }
  
  .p-feature_point .label {
	position: absolute;
	top: -1.3125rem;
	left: -1.3125rem;
	display: inline-block;
	width: 100px;
	height: 30px;
	background-color: #9a53a1;
	text-align: center
  }
  
  .p-flow_inner {
	max-width: 62.5rem;
	margin-right: auto;
	margin-left: auto
  }
  
  .p-flow_list {
	margin-top: 4.125rem
  }
  
  .p-flowStep {
	font-weight: 700;
	text-align: center
  }
  
  .p-flowStep+.p-flowStep {
	margin-top: 2.1875rem
  }
  
  .p-flowStep+.p-flowStep::before {
	content: "\25bc";
	position: absolute;
	bottom: calc(100% + 0.6rem);
	color: #d1b07b;
	font-size: .9375rem;
	-webkit-transform: scaleX(2);
	-ms-transform: scaleX(2);
	transform: scaleX(2)
  }
  
  .p-flowStep_number {
	position: absolute;
	bottom: 100%;
	left: 0;
	width: 6.25rem
  }
  
  .p-flowStep_closeLabel {
	margin: .5rem auto .25rem;
	padding: .1875rem;
	background-color: #9a53a1;
	color: #fff;
	font-size: .75rem
  }
  
  .p-flowStep_closeDate {
	font-size: .75rem
  }
  
  .p-introduction {
	max-width: 66.5rem;
	margin-right: auto;
	margin-left: auto
  }
  
  .p-introduction p {
	font-size: .75rem
  }
  
  .p-introduction p+p {
	margin-top: 1em
  }
  
  .p-introduction .text {
	padding-bottom: .5rem;
	max-width: 36.25rem;
	margin-right: auto;
	margin-left: auto
  }
  
  .p-introduction .image {
	text-align: center
  }
  
  .p-introduction_logo {
	margin-bottom: .875rem
  }
  
  .p-introduction_title {
	margin-bottom: 1.125rem;
	font-size: 1.5rem;
	line-height: 1.4
  }
  
  .p-introduction_catch {
	margin-bottom: .875rem
  }
  
  .p-lecture {
	position: relative;
	max-width: 62.5rem
  }
  
  .p-lecture_list {
	max-width: 62.5rem;
	margin: auto
  }
  
  .p-lectureBox {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 1.25rem;
	border: 1px solid #d1b07b;
	background-color: rgba(255, 255, 255, .8);
	-webkit-box-shadow: 0 0 .25rem rgba(0, 0, 0, .3);
	box-shadow: 0 0 .25rem rgba(0, 0, 0, .3)
  }
  
  .p-lectureBox_head {
	position: relative;
	padding: 0 1.875rem 0 .25rem
  }
  
  .p-lectureBox_icon {
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%)
  }
  
  .p-lectureBox_title span, .p-lectureBox_title i {
	display: inline-block;
	vertical-align: middle
  }
  
  .p-lectureBox_title i::before {
	color: #cfa262
  }
  
  .p-lectureBox_title .name {
	font-size: 1rem
  }
  
  .p-lectureBox_title .jo {
	font-size: .75rem;
	font-weight: 700
  }
  
  .p-lectureBox_title .job {
	margin-left: .5rem;
	font-size: .75rem
  }
  
  .p-lectureBox_body {
	display: none;
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid #d1b07b
  }
  
  .p-lectureBox_body .catch {
	margin-bottom: .5rem;
	font-size: .875rem
  }
  
  .p-lectureBox_body .data {
	font-size: .75rem
  }
  
  .p-lectureBox_body .data+.catch {
	margin-top: .5rem
  }
  
  .p-message_item .c-box_head {
	padding-left: 2.875rem
  }
  
  .p-message_item .c-box_head p {
	margin-top: .5rem;
	font-size: .75rem;
	font-weight: 700
  }
  
  .p-message_item .iconf-mark::before {
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	color: #d1b07b;
	font-size: 2.25rem
  }
  
  .p-message_item .c-box_body {
	padding-top: 1.25rem;
	border-top: 1px solid #d1b07b
  }
  
  .p-outline_inner {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	max-width: 66.5rem;
	margin: auto
  }
  
  .p-outline_inner .p-tabA {
	position: relative;
	z-index: 1
  }
  
  .p-outlineInfo {
	position: relative;
	z-index: 2
  }
  
  .p-outlineInfo_item {
	padding-top: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #cfa262
  }
  
  .p-outlineInfo_item p, .p-outlineInfo_item dt, .p-outlineInfo_item dd {
	font-size: .75rem
  }
  
  .p-outlineInfo_item dd+dt {
	margin-top: .75rem
  }
  
  .p-outlineInfo_item.sample {
	padding-bottom: 0;
	text-align: center;
	border: none;
  }
  
  .p-outlineInfo_item .catch {
	margin-bottom: .5rem;
	color: #cfa262;
	font-size: 1.5rem
  }
  
  .p-outlineInfo_item .image {
	margin-top: 1.5625rem
  }
  
  .p-outlineInfo_title {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin-bottom: .75rem;
	font-size: 1rem
  }
  
  .p-outlineInfo_title .iconf-mark {
	margin-right: .3125rem;
	color: #cfa262
  }
  
  .p-outlineInfo_contents {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	max-width: 40.375rem;
	padding-left: .625rem
  }
  
  .p-outlineInfo_label {
	display: inline-block;
	margin-bottom: .5rem;
	padding: .1875rem .3125rem;
	background-color: #cfa262;
	color: #fff;
	font-size: .75rem;
	line-height: 1.5
  }
  
  .p-outlineInfo_btn {
	display: inline-block;
	margin-top: .625rem;
	padding: .5625rem 1rem;
	border-radius: .1875rem;
	background-color: #9a53a1;
	-webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, .3);
	box-shadow: 2px 2px 2px rgba(0, 0, 0, .3);
	color: #fff;
	font-size: .75rem;
	text-decoration: none;
	line-height: 1
  }
  
  .p-outlineInfo_btn i::before {
	margin-right: .375rem;
	font-size: .625rem
  }
  
  .p-tabA {
	border: 1px solid #d9b581;
	background-color: #fff;
	-webkit-box-shadow: 0 0 .25rem rgba(0, 0, 0, .3);
	box-shadow: 0 0 .25rem rgba(0, 0, 0, .3)
  }
  
  .p-tabA_button {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	float: left;
	position: relative;
	width: 50%;
	padding: 1.25rem;
	background-color: #9a53a1;
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none
  }
  
  .p-tabA_button:not(.tab-active) {
	cursor: pointer
  }
  
  .p-tabA_button i {
	position: absolute;
	top: 50%;
	left: 50%;
	font-size: .625rem;
	display: block;
	-webkit-transform: translate(-7em, -50%);
	-ms-transform: translate(-7em, -50%);
	transform: translate(-7em, -50%)
  }
  
  .p-tabA_item {
	display: none;
	padding: 1.25rem
  }
  
  .tab-active.p-tabA_button {
	background-color: #fff;
	color: #9a53a1
  }
  
  .tab-active.p-tabA_item {
	display: block
  }
  
  .p-tabB_buttons {
	max-width: 18rem;
	margin-left: auto;
	margin-right: auto
  }
  
  .p-tabB_button {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	float: left;
	width: 8.75rem;
	height: 2.3125rem;
	padding-top: .625rem;
	background: transparent url(../images/bg/tab_off.png) 0 0/cover no-repeat;
	color: #fff;
	font-size: .875rem;
	font-weight: 700;
	text-align: center
  }
  
  .p-tabB_button:not(.tab-active) {
	cursor: pointer
  }
  
  .p-tabB_button:nth-child(odd) {
	float: left
  }
  
  .p-tabB_button:nth-child(even) {
	float: right
  }
  
  .p-tabB_item {
	display: none
  }
  
  .tab-active.p-tabB_button {
	background-image: url(../images/bg/tab_on.png);
	color: #9a53a1
  }
  
  .tab-active.p-tabB_item {
	display: block
  }
  
  .p-timeSchedule_frame {
	overflow-y: hidden;
	overflow-x: auto;
	white-space: nowrap
  }
  
  .p-timeSchedule_title {
	text-align: center
  }
  
  .p-timeSchedule_subtitle {
	color: #cfa262;
	text-align: center;
	padding-bottom: 1.25rem;
	padding-top: 2.375rem
  }
  
  .p-timeSchedule_table {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	table-layout: fixed;
	border-collapse: collapse;
	border-color: #000
  }
  
  .p-timeSchedule_table caption {
	padding: 1.875rem;
	border: 1px solid #000;
	border-bottom: 0;
	background-color: #fcddff
  }
  
  .p-timeSchedule_table th, .p-timeSchedule_table td {
	padding: .625rem .375rem;
	border: 1px solid #000;
	font-size: .875rem;
	line-height: 1.4
  }
  
  .p-timeSchedule_table th {
	background-color: #fcddff;
	font-weight: 400
  }
  
  .p-timeSchedule_table thead th {
	padding: 0;
	border: 1px solid #000
  }
  
  .p-timeSchedule_table tbody th, .p-timeSchedule_table tbody td {
	white-space: normal
  }
  
  .p-timeSchedule_table .date th {
	height: 4.125rem
  }
  
  .p-timeSchedule_table .day th {
	height: 1.875rem
  }
  
  .p-timeSchedule_table .doite {
	padding-top: 1.25rem!important;
	vertical-align: top;
	word-break: break-all
  }
  
  .p-timeSchedule_table .works th, .p-timeSchedule_table .works td {
	height: 5.625rem;
	border-bottom: 3px double #000
  }
  
  .p-timeSchedule_table tbody th, .p-timeSchedule_table .works th {
	background-color: #9a53a1;
	color: #fff;
	font-weight: 700;
	height: 4rem
  }
  
  .p-timeSchedule_table .works td {
	font-weight: 700
  }
  
  .p-timeSchedule_table .special {
	padding: 0;
	vertical-align: bottom
  }
  
  .p-timeSchedule_table .special>div {
	position: relative
  }
  
  .p-timeSchedule_table .special>div>div {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 7.125rem;
	padding: .375rem;
	border: 2px solid #9a53a1;
	background-color: #fcddff;
	color: #701b78
  }
  
  .p-timeSchedule_table .special span {
	display: block;
	margin-bottom: .25rem
  }
  
  .p-timeSchedule_table .special a {
	display: block;
	width: 98%;
	padding: .375rem 0;
	border-radius: 2px;
	background-color: #9a53a1;
	-webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, .3);
	box-shadow: 2px 2px 2px rgba(0, 0, 0, .3);
	color: #fff;
	text-decoration: none;
	text-align: center
  }
  
  .p-timeSchedule_title {
	text-align: center
  }
  
  .tokyo .p-timeSchedule_table {
	width: 58.25rem;
	margin: auto
  }
  
  .tokyo .p-timeSchedule_table .works th, .tokyo .p-timeSchedule_table .works td {
	padding: .375rem .375rem;
	height: 4.125rem
  }
  
  .tokyo .p-timeSchedule_table .cell_ver1 {
	width: 8.25rem
  }
  
  .osaka .p-timeSchedule_table {
	display: inline-block;
	vertical-align: top
  }
  
  .osaka .p-timeSchedule_table_top {
	width: 56.25rem;
	min-height: 9.125rem
  }
  
  .osaka .p-timeSchedule_table_top caption {
	padding: 1.875rem 24rem
  }
  
  .osaka .p-timeSchedule_table_top th {
	width: 11.25rem
  }
  
  .osaka .p-timeSchedule_table_top td {
	width: 43rem
  }
  
  .osaka .p-timeSchedule_table_bottom {
	width: 27.25rem
  }
  
  .osaka .p-timeSchedule_table_bottom caption {
	width: 27.25rem;
	box-sizing: border-box
  }
  
  .osaka .p-timeSchedule_table .works th, .osaka .p-timeSchedule_table .works td {
	padding: 0rem .375rem;
	height: 4.125rem
  }
  
  .osaka .p-timeSchedule_table_bottom th {
	width: 8rem
  }
  
  .osaka .p-timeSchedule_table_bottom td {
	padding-left: 1rem;
	width: 19.25rem
  }
  
  .osaka .p-timeSchedule_table+.p-timeSchedule_table {
	margin-left: 1.25rem
  }
  
  .osaka .p-timeSchedule_table .works th div, .osaka .p-timeSchedule_table .works td div {
	padding: 2.5rem .375rem 0
  }
  
  .p-timeSchedule .tokyo .c-box_body {
	position: relative
  }
  
  #js-tokyoScheduleFrame {
	position: absolute;
	bottom: 2.3125rem;
	left: 1.25rem;
	width: 8.25rem;
	overflow: hidden;
	border-right: 1px solid #000;
	pointer-events: none
  }
  
  html.ios #js-tokyoScheduleFrame {
	bottom: 1.25rem
  }
  
  #clone-tokyoSchedule {
	width: 58rem;
	white-space: nowrap
  }
  
  .u-alignCenter {
	text-align: center
  }
  
  .u-alignRight {
	text-align: right
  }
  
  .u-alignLeft {
	text-align: left
  }
  
  .u-marginCenter {
	margin-right: auto;
	margin-left: auto
  }
  
  .u-clearfix:after {
	content: "";
	display: block;
	clear: both
  }
  
  .u-flLeft {
	float: left
  }
  
  .u-flRight {
	float: right
  }
  
  .u-flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex
  }
  
  .u-fwBold {
	font-weight: bold!important
  }
  
  .u-fwNormal {
	font-weight: normal!important
  }
  
  .u-inner {
	padding-right: 1rem;
	padding-left: 1rem
  }
  
  .u-mb5 {
	margin-bottom: .3125rem
  }
  
  .u-mb10 {
	margin-bottom: .625rem
  }
  
  .u-mb20 {
	margin-bottom: 1.25rem
  }
  
  .u-mb30 {
	margin-bottom: 1.875rem
  }
  
  .u-mb40 {
	margin-bottom: 2.5rem
  }
  
  .u-mb50 {
	margin-bottom: 3.125rem
  }
  
  .u-mb60 {
	margin-bottom: 3.75rem
  }
  
  .u-mb80 {
	margin-bottom: 5rem
  }
  
  .u-mb100 {
	margin-bottom: 6.25rem
  }
  
  .u-mt5 {
	margin-top: .3125rem
  }
  
  .u-mt10 {
	margin-top: .625rem
  }
  
  .u-mt20 {
	margin-top: 1.25rem
  }
  
  .u-mt30 {
	margin-top: 1.875rem
  }
  
  .u-marker {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(40%, transparent), color-stop(40%, #ccc));
	background: -webkit-linear-gradient(transparent 40%, #ccc 40%);
	background: linear-gradient(transparent 40%, #ccc 40%)
  }
  
  .u-marker--violet {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #9a53a1));
	background: -webkit-linear-gradient(transparent 70%, #9a53a1 70%);
	background: linear-gradient(transparent 70%, #9a53a1 70%)
  }
  
  .u-marker--purple {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #eacbed));
	background: -webkit-linear-gradient(transparent 70%, #eacbed 70%);
	background: linear-gradient(transparent 70%, #eacbed 70%)
  }
  
  .u-point {
	color: #000
  }
  
  .u-point--violet {
	color: #9a53a1
  }
  
  .u-point--gray {
	color: #666
  }
  
  .u-srOnly, .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0
  }
  
  .u-srOnly-focusable:active, .u-srOnly-focusable:focus {
	position: static;
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	clip: auto
  }
  
  @media screen and (min-width:651px) {
	.l-header_topRight {
	  width: 400px
	}
	.l-header_middle {
	  float: right
	}
	.l-header_middle {
	  margin-right: .625rem
	}
  }
  
  @media screen and (min-width:769px) {
	.js-toggleBtn+* {
	  display: block!important
	}
	.l-applicationLink a {
	  -webkit-transition: -webkit-transform 0.1s linear;
	  transition: -webkit-transform 0.1s linear;
	  transition: transform 0.1s linear;
	  transition: transform 0.1s linear, -webkit-transform 0.1s linear
	}
	.l-applicationLink a::before, .l-applicationLink a::after {
	  -webkit-transition: all 0.1s linear;
	  transition: all 0.1s linear
	}
	.l-applicationLink a::before {
	  height: .5rem;
	  -webkit-transform: translate(.5rem, 100%);
	  -ms-transform: translate(.5rem, 100%);
	  transform: translate(.5rem, 100%)
	}
	.l-applicationLink a::after {
	  width: .5rem;
	  -webkit-transform: translateX(100%);
	  -ms-transform: translateX(100%);
	  transform: translateX(100%)
	}
	.l-applicationLink a:hover, .l-applicationLink a:focus {
	  -webkit-box-shadow: none;
	  box-shadow: none;
	  -webkit-transform: translate(.25rem, .25rem);
	  -ms-transform: translate(.25rem, .25rem);
	  transform: translate(.25rem, .25rem)
	}
	.l-applicationLink a:hover::before, .l-applicationLink a:focus::before {
	  height: .125rem;
	  -webkit-transform: translate(.125rem, 100%);
	  -ms-transform: translate(.125rem, 100%);
	  transform: translate(.125rem, 100%)
	}
	.l-applicationLink a:hover::after, .l-applicationLink a:focus::after {
	  width: .125rem
	}
	.l-outer {
	  background-color: transparent;
	  background-repeat: no-repeat;
	  background-image: url(../images/bg/bg.jpg), url(../images/bg/bg.jpg), url(../images/bg/bg.jpg);
	  background-position: -52px 3020px, -46px 8200px, 1200px 10300px;
	  background-size: 40% auto
	}
	.l-outer_lecture-message {
	  background-color: transparent;
	  background-repeat: no-repeat;
	  background-image: url(../images/bg/message.png), url(../images/bg/lecture.png);
	  background-position: 0 1200px, right 10px;
	  /* background-size: 30% auto, 45% auto */
	  background-size: 30% auto, 25% auto
	}
	.p-lecture::before {
	  top: 6px;
	  right: 64%;
	  width: 250px;
	  height: 168px
	}
	.p-flow::before {
	  top: -42px;
	  left: 65%;
	  width: 242px;
	  height: 236px;
	  background-image: url(../images/character/flow_top.png)
	}
	.p-outline::before {
	  top: 0;
	  left: 65%;
	  width: 207px;
	  height: 249px;
	  background-image: url(../images/character/outline_top.png)
	}
	.l-footer_address dt, .l-footer_address dd {
	  color: #fff;
	  vertical-align: middle
	}
	.l-footer_address .school {
	  display: inline-block
	}
	.l-footer_address .name {
	  padding-right: 1rem;
	  margin-right: .25rem;
	  font-size: .75rem
	}
	.l-gnav_item a {
	  padding: 1.5rem .625rem 1.25rem
	}
	.l-gnav_item .en {
	  font-size: .75rem
	}
	.l-header {
	  height: 970px;
	  background-image: url(../images/bg/header_pc.jpg);
	  background-size: auto
	}
	.l-header_top--fixed {
	  position: fixed;
	  top: 0;
	  left: 0;
	  z-index: 6;
	  width: 100%
	}
	.l-header_main {
	  top: 60px
	}
	.l-header_privilege {
	  top: 660px;
	  right: 0;
	  width: 349px;
	  height: 140px;
	  background-position: 25px 0
	}
	.l-header_directorSeminar {
	  top: 632px
	}
	.l-header_goContents a {
	  top: 814px
	}
	.l-header_goContents a::before {
	  width: 58px;
	  height: 118px
	}
	.l-section {
	  padding-top: 4.375rem;
	  padding-bottom: 4.375rem
	}
	.l-section_title {
	  margin-bottom: 3rem
	}
	.l-section .l-applicationLink {
	  margin-top: 1.875rem
	}
	.c-box {
	  padding: 2.5rem
	}
	.c-box_head {
	  padding: 0 0 0 .25rem
	}
	.c-box_title {
	  font-size: 2rem
	}
	.c-box_body p {
	  font-size: 1rem
	}
	.c-box_body .image {
	  margin-top: 1.875rem
	}
	.c-btnShadow {
	  -webkit-box-shadow: .5rem .5rem 0 rgba(0, 0, 0, .3);
	  box-shadow: .5rem .5rem 0 rgba(0, 0, 0, .3);
	  -webkit-transition: all 0.1s linear;
	  transition: all 0.1s linear
	}
	.c-btnShadow:hover, .c-btnShadow:focus {
	  -webkit-box-shadow: .125rem .125rem 0 rgba(0, 0, 0, .3);
	  box-shadow: .125rem .125rem 0 rgba(0, 0, 0, .3);
	  -webkit-transform: translate(.25rem, .25rem);
	  -ms-transform: translate(.25rem, .25rem);
	  transform: translate(.25rem, .25rem)
	}
	.p-feature::before {
	  background-image: url(../images/bg/feature_pc.jpg)
	}
	.p-curriculum::before {
	  background-image: url(../images/bg/curriculum_pc.jpg)
	}
	.p-brochure {
	  height: 33rem
	}
	.p-brochure_inner {
	  z-index: 2;
	  margin-right: 0;
	  width: 32.5rem;
	  padding: 5.625rem 1rem 0;
	  background-color: rgba(34, 34, 34, .8)
	}
	.p-brochure_title {
	  margin: 0 0 1.875rem;
	  font-size: 3rem
	}
	.p-brochure_title::before {
	  width: 20rem;
	  height: 2.375rem;
	  margin-bottom: .375rem
	}
	.p-brochure p {
	  font-size: 1.25rem;
	  line-height: 1.5
	}
	.p-brochure_btn {
	  margin-top: 2.25rem
	}
	.p-brochure_btn a {
	  font-size: 1.5rem;
	  line-height: 1.4
	}
	.p-brochure_btn i::before {
	  margin-right: 1rem;
	  font-size: 3.5625rem
	}
	.p-brochure_image {
	  top: 2.875rem;
	  z-index: 1;
	  width: 100%;
	  -webkit-transform: translateX(-4.625rem);
	  -ms-transform: translateX(-4.625rem);
	  transform: translateX(-4.625rem)
	}
	.p-contact_tel p {
	  font-size: 2rem
	}
	.p-contact_tel p span {
	  margin-top: -.375rem;
	  margin-right: 2.5rem;
	  font-size: 1.5rem
	}
	.p-contact_tel p span::after {
	  right: -1.875rem;
	  font-size: 1rem
	}
	.p-contact_tel p:last-child {
	  font-size: .875rem;
	  text-align: left
	}
	.p-contact_formBtn {
	  padding: 1.75rem 2rem;
	  font-size: 1.5rem
	}
	.p-contact::before {
	  top: 0;
	  left: 80px;
	  width: 314px;
	  height: 195px
	}
	.chara-contactBtn {
	  margin-bottom: -2.4rem
	}
	.p-curriculum .c-toggleIcon {
	  display: none
	}
	.p-curriculum_directorSeminar {
	  text-align: center
	}
	.p-feature_point {
	  margin-right: .625rem;
	  margin-left: .625rem
	}
	.p-feature_point+.p-feature_point {
	  margin-top: 0
	}
	.p-feature_point .c-toggleIcon {
	  display: none
	}
	.p-feature .c-box_head {
	  padding-top: 1.875rem
	}
	.p-feature .label {
	  top: -2.5625rem;
	  left: -2.5625rem;
	  width: 160px;
	  height: 50px
	}
	.p-flowStep+.p-flowStep {
	  margin-top: 3.125rem
	}
	.p-flowStep+.p-flowStep::before {
	  bottom: calc(100% + 1rem)
	}
	.p-flowStep_number {
	  width: auto
	}
	.p-flowStep_title {
	  margin-bottom: 1.875rem
	}
	.p-flowStep_closeLabel, .p-flowStep_closeDate {
	  display: inline-block
	}
	.p-flowStep_closeLabel {
	  margin-right: .25rem;
	  padding: .1875rem 1.25rem;
	  font-size: 1.25rem
	}
	.p-flowStep_closeDate {
	  font-size: 1.5rem
	}
	.p-introduction_inner {
	  display: -webkit-box;
	  display: -ms-flexbox;
	  display: flex;
	  -webkit-box-pack: justify;
	  -ms-flex-pack: justify;
	  justify-content: space-between
	}
	.p-introduction_inner p {
	  font-size: .875rem
	}
	.p-introduction_inner .text {
	  width: 58%
	}
	.p-introduction_inner .image {
	  width: 42%
	}
	.p-lectureBox {
	  display: table;
	  width: 100%;
	  min-height: 11.875rem;
	  padding-left: 0
	}
	.p-lectureBox_head, .p-lectureBox_body {
	  display: table-cell!important;
	  vertical-align: middle
	}
	.p-lectureBox_head {
	  width: 9.25rem;
	  margin-bottom: 0;
	  padding: 0;
	  text-align: center
	}
	.p-lectureBox_icon {
	  display: none
	}
	.p-lectureBox_title {
	  text-align: center
	}
	.p-lectureBox_title i {
	  display: inline-block;
	  font-size: 2rem
	}
	.p-lectureBox_title .name {
	  display: block;
	  margin-top: .25rem;
	  font-size: 1.5rem
	}
	.p-lectureBox_title .job {
	  display: inline-block;
	  margin-top: .375rem;
	  margin-left: 0;
	  font-size: .875rem
	}
	.p-lectureBox_body {
	  padding-top: 0;
	  padding-left: 1.25rem;
	  border-top: 0;
	  border-left: 1px solid #d1b07b
	}
	.p-lectureBox_body .catch {
	  font-size: 1rem;
	  font-weight: 700
	}
	.p-lectureBox_body .data {
	  font-size: .875rem
	}
	.p-message_item {
	  margin-right: 1.25rem;
	  margin-left: 1.25rem
	}
	.p-message_item+.p-message_item {
	  margin-top: 0
	}
	.p-message_item .c-box_head {
	  padding-right: 0;
	  padding-left: 5.625rem
	}
	.p-message_item .c-box_head p {
	  font-size: 1.5rem
	}
	.p-message_item .c-box_body p {
	  font-size: .875rem
	}
	.p-message_item .c-box_icon {
	  display: none
	}
	.p-message_item .iconf-mark::before {
	  font-size: 4.5rem
	}
	.p-outlineInfo_item {
	  padding: 1.5rem .625rem;
	  overflow: hidden
	}
	.p-outlineInfo_item p, .p-outlineInfo_item dt, .p-outlineInfo_item dd {
	  font-size: 1rem
	}
	.p-outlineInfo_item.sample {
	  padding-top: 3.125rem
	}
	.p-outlineInfo_item .catch {
	  font-size: 2rem
	}
	.p-outlineInfo_title {
	  float: left;
	  width: 13.125rem;
	  margin-bottom: 0;
	  padding-right: .625rem;
	  font-size: 1.5rem
	}
	.p-outlineInfo_contents {
	  float: left;
	  width: calc(100% - 13.125rem)
	}
	.p-outlineInfo_label {
	  font-size: .875rem
	}
	.p-outlineInfo_btn {
	  font-size: .875rem
	}
	.p-tabA_button {
	  padding: 1.875rem;
	  font-size: 2rem
	}
	.p-tabA_button i {
	  font-size: 1.25rem;
	  -webkit-transform: translate(-8em, -50%);
	  -ms-transform: translate(-8em, -50%);
	  transform: translate(-8em, -50%)
	}
	.p-tabA_item {
	  padding: 1.25rem 2.5rem
	}
	.p-tabB_buttons {
	  max-width: 34.125rem;
	  margin: auto
	}
	.p-tabB_button {
	  width: 16.25rem;
	  height: 4.375rem;
	  padding: 1.25rem;
	  font-size: 1.5rem
	}
	#js-tokyoScheduleFrame {
	  bottom: 3.5625rem;
	  left: 2.5rem
	}
	html.ios #js-tokyoScheduleFrame {
	  bottom: 2.5rem
	}
	.u-pc--hidden {
	  display: none!important;
	  visibility: hidden
	}
	.u-inner {
	  padding-right: 2rem;
	  padding-left: 2rem
	}
  }
  
  @media screen and (min-width:1001px) {
	.p-message::before {
	  top: 16px;
	  left: 56%;
	  width: 211px;
	  height: 179px;
	}
	.chara-outline {
	  position: absolute;
	  top: 8.875rem;
	  right: 2.5rem;
	  display: block
	}
	.l-footer_address {
	  display: block
	}
	.l-footer_logo {
	  position: absolute;
	  top: 50%;
	  right: 0;
	  width: 17rem;
	  -webkit-transform: translateY(-70%);
	  -ms-transform: translateY(-70%);
	  transform: translateY(-70%)
	}
	.c-box {
	  max-width: 62.5rem;
	  padding: 3.125rem
	}
	.p-contact .c-box {
	  display: -webkit-box;
	  display: -ms-flexbox;
	  display: flex;
	  -webkit-box-pack: justify;
	  -ms-flex-pack: justify;
	  justify-content: space-between
	}
	.p-contact_form .chara-wrapper {
	  margin-top: -6.875rem
	}
	.p-curriculum_head {
	  position: relative
	}
	.p-curriculum_head .p-tabB_buttons {
	  margin: 3.75rem auto 2.5rem
	}
	.p-curriculum .message-swipe {
	  display: none
	}
	.p-curriculum_item {
	  min-height: 23.75rem;
	  padding-right: 30rem
	}
	.p-curriculum_time {
	  font-size: 1.5rem
	}
	.p-curriculum_directorSeminar {
	  position: absolute;
	  top: -3rem;
	  right: 0
	}
	.p-curriculum_label {
	  display: inline-block;
	  padding: .1875rem .5rem .1875rem .8rem;
	  background-color: #9a53a1;
	  color: #fff;
	  font-size: 1.25rem;
	  text-align: center
	}
	.p-curriculum .c-box_body .image {
	  position: absolute;
	  top: 3.125rem;
	  right: 3.125rem;
	  margin-top: 0
	}
	.p-feature_point {
	  min-height: 24rem;
	  padding-right: 30rem
	}
	.p-feature .label {
	  top: -3.1875rem;
	  left: -3.1875rem
	}
	.p-feature .c-box_body .image {
	  position: absolute;
	  top: 3.125rem;
	  right: 3.125rem;
	  margin-top: 0
	}
	.p-introduction_title {
	  font-size: 3rem
	}
	.p-introduction_catch {
	  font-size: 1.5rem
	}
	.p-lecture {
	  margin-bottom: 7.875rem
	}
	.p-lecture_list {
	  position: relative;
	  display: -webkit-box;
	  display: -ms-flexbox;
	  display: flex;
	  -ms-flex-wrap: wrap;
	  flex-wrap: wrap
	}
	.p-lectureBox {
	  width: 49%;
	  /* height: 11.25rem;*/
	  height: 14rem;
	  max-width: 30.625rem;
	  margin-bottom: 1.25rem
	}
	.p-lectureBox:nth-child(even) {
	  margin-left: 2%;
	  -webkit-transform: translateY(50%);
	  -ms-transform: translateY(50%);
	  transform: translateY(50%)
	}
	.p-lectureBox:last-child {
	  left: 51%;
	  bottom: -17.6875rem
	}
	.p-lecture .note {
	  margin-top: 5.45rem;
	  /* margin-top: 8rem */
	}
	.p-message_item {
	  width: 62.5rem;
	  min-height: 31.75rem
	}
	.tokyo.p-timeSchedule {
	  padding: 3.125rem 1.875rem
	}
	#js-tokyoScheduleFrame {
	  bottom: 4.1875rem;
	  left: 1.875rem
	}
	html.ios #js-tokyoScheduleFrame {
	  bottom: 3.125rem
	}
	.u-hoverOpacity img, .u-hoverOpacityWrapper a img {
	  -webkit-transition: opacity 0.15s linear;
	  transition: opacity 0.15s linear;
	  -webkit-backface-visibility: hidden;
	  backface-visibility: hidden
	}
	.u-hoverOpacity:hover img, .u-hoverOpacityWrapper a:hover img, .u-hoverOpacity:focus img, .u-hoverOpacityWrapper a:focus img {
	  opacity: .6
	}
	.u-serif {
	  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif
	}
  }
  
  @media screen and (min-width:769px) {
	.p-bgImage::before {
	  position: fixed
	}
	.no-fixed--top.p-bgImage::before {
	  position: absolute;
	  top: 0;
	  background-position: center top
	}
	.no-fixed--bottom.p-bgImage::before {
	  position: absolute;
	  bottom: 0;
	  background-position: center bottom;
	  background-size: cover
	}
  }
  
  @media screen and (min-width:1060px) {
	.l-header_logo {
	  max-width: 23.8125rem;
	  margin-top: .75rem;
	  -webkit-transform: translateX(1rem);
	  -ms-transform: translateX(1rem);
	  transform: translateX(1rem)
	}
	.l-header_applicationBtn {
	  max-width: 15rem
	}
	.l-header_topRight {
	  width: 40.625rem
	}
	.l-header_middle {
	  margin-top: .875rem;
	  margin-right: .875rem
	}
	.l-header_brochureBtn .c-fillBtn {
	  height: 3.125rem;
	  padding-right: 1.375rem;
	  padding-left: 1.375rem;
	  font-size: 1.25rem;
	  line-height: 3.125rem
	}
	.l-header_brochureBtn i::before {
	  margin-right: .5rem;
	  font-size: 1.625rem
	}
	.l-header_tel {
	  display: inline-block;
	  vertical-align: middle;
	  margin-left: .625rem;
	  text-align: left
	}
	.l-header_tel p {
	  font-size: 1.125rem!important
	}
	.l-header_tel p+p {
	  margin-top: 0.3125rem!important;
	  margin-left: 0
	}
	.l-header_tel span {
	  padding: .25rem .875rem;
	  font-size: .875rem
	}
  }
  
  @media screen and (min-width:1100px) {
	#js-tokyoScheduleFrame {
	  display: none;
	  visibility: hidden
	}
  }
  
  @media screen and (max-width:1099px) {
	.p-timeSchedule_frame {
	  -webkit-overflow-scrolling: touch;
	  overflow-scrolling: touch
	}
	.p-timeSchedule_frame::-webkit-scrollbar {
	  height: 1.0625rem
	}
	.p-timeSchedule_frame::-webkit-scrollbar-track {
	  background: #f1f1f1
	}
	.p-timeSchedule_frame::-webkit-scrollbar-thumb {
	  background: #bcbcbc
	}
	html.ios #js-tokyoSchedule .date th:first-child, html.ios #js-tokyoSchedule tbody th:first-child {
	  opacity: 0;
	  border-color: transparent
	}
  }
  
  @media screen and (max-width:1000px) {
	.chara-outline {
	  display: none
	}
	.p-lectureBox {
	  margin-right: auto;
	  margin-left: auto
	}
	.p-lectureBox+.p-lectureBox {
	  margin-top: .625rem
	}
  }
  
  @media screen and (max-width:768px) {
	.p-bgImage::before {
	  top: 0
	}
	.js-toggleBtn {
	  cursor: pointer
	}
	.js-toggleBtn+* {
	  display: none
	}
	.p-contact {
	  padding-top: 5rem
	}
	.p-contact::before {
	  background-size: 70% auto
	}
	.p-lecture {
	  padding-top: 5rem
	}
	.p-lecture::before {
	  background-size: 65% auto
	}
	.p-message {
	  padding-top: 60px
	}
	.p-message::before {
	  top: 70px;
	  right: 0;
	  width: 127px;
	  height: 89px;
	  background-size: cover
	}
	.p-flow::before {
	  top: -20px;
	  right: 0;
	  width: 110px;
	  /* height: 136px; */
	  height: 124px;
	  background-size: cover
	}
	.p-outline::before {
	  top: 0;
	  right: 0;
	  width: 122px;
	  height: 124.5px;
	  background-size: cover
	}
	.l-footer_logo {
	  padding-right: 9.375%;
	  padding-left: 9.375%
	}
	.l-gnav {
	  padding-right: .375rem;
	  padding-left: .375rem
	}
	.l-gnav_item {
	  margin-top: .25rem;
	  margin-bottom: .25rem;
	  font-size: .6875rem
	}
	.l-gnav .en {
	  font-size: .625rem
	}
	.l-header {
	  background-position: center 40px;
	  background-size: auto 470px
	}
	.l-header_title {
	  width: 187.5px
	}
	.l-header_date {
	  width: 153.5px;
	  -webkit-transform: translateY(-16px);
	  -ms-transform: translateY(-16px);
	  transform: translateY(-16px)
	}
	.l-header_privilege {
	  top: 510px;
	  left: 0;
	  width: 225px;
	  height: 90px
	}
	.l-header_directorSeminar {
	  top: 592px;
	  width: 296px
	}
	.l-section_title {
	  max-width: 18rem
	}
	.p-brochure_btn {
	  text-align: center
	}
	.p-brochure_btn a {
	  text-align: left
	}
	.p-brochure_chara {
	  display: none;
	  visibility: hidden
	}
	.p-contact {
	  background: none
	}
	.chara-contactBtn {
	  width: 6.5625rem;
	  margin: 0 auto -1.6875rem
	}
	.u-sp--hidden {
	  display: none!important;
	  visibility: hidden
	}
  }
  
  @media screen and (max-width:650px) {
	.l-header_middle {
	  position: absolute;
	  top: 2.5rem;
	  left: 50%;
	  width: 100%;
	  padding-top: .3125rem;
	  padding-bottom: .3125rem;
	  background-color: rgba(255, 255, 255, .8);
	  -webkit-transform: translateX(-50%);
	  -ms-transform: translateX(-50%);
	  transform: translateX(-50%)
	}
	.u-middle--hidden {
	  display: none!important;
	  visibility: hidden
	}
	.l-header_tel {
	  display: inline-flex
	}
	.l-header_tel p {
	  font-size: .75rem;
	  font-weight: 700;
	  line-height: 1
	}
	.l-header_tel p+p {
	  margin-left: .5rem
	}
  }
  
  @media screen and (min-width:651px) {
	.l-header_tel {
	  display: inline-block;
	  vertical-align: middle;
	  margin-left: .625rem;
	  text-align: left
	}
	.l-header_tel p {
	  font-size: .75rem;
	  font-weight: 700;
	  line-height: 1
	}
	.l-header_tel p+p {
	  margin-top: .25rem
	}
  }
  
  @media screen and (max-width:430px) {
	.p-lectureBox_title .jo+.job {
	  margin-left: 2em
	}
  }


  
/* -------------
　　2024.12追加
---------------- */
.l-section {
	padding-top: 4rem;
}
.p-bgImage {
	padding-top: 7rem;
}
.l-header {
	overflow: hidden;
}
.l-header_logo {
    float: left;
    width: 58%;
    max-width: 14.5rem;
}
@media screen and (min-width: 1060px) {
	.l-header_logo {
		max-width: 23.8125rem;
	}
}

@media screen and (max-width: 650px) {
    .l-header_middle {
        top: 2.5rem;
        left: 80%;
        width: 100%;
        padding-top: 0;
    }
}

.l-section.p-feature {
	background-color: #000;
}

.p-lecture::before {
    top: -20px;
    left: 0;
    width: 250px;
    height: 205px;
}

@media screen and (min-width:1000px) {
	/* #p-lecture-ike {
		margin-top:-85px;
	} */

	.p-lectureBox_title .name {
		font-size: 1.25rem
	}
	.p-lecture .note {
		text-align: center;
		padding-bottom: 2rem;
		margin-top: 1.45rem;
		font-size: 0.75rem;
	}	
}

@media screen and (min-width: 769px) {
    .l-outer_lecture-message {
        background-size: 30% auto, 30% auto;
    }
}
@media screen and (max-width:650px) {
	.l-outer_lecture-message {
		background-position: -115% 870px, 130% 10px;
		background-size: 76% auto, 54% auto;
	}
}

@media screen and (min-width: 769px) {
    .p-lecture::before {
        top: -50px;
        right: 64%;
    }
}

@media screen and (max-width: 768px) {
    .p-lecture {
        padding-top: 7rem;
    }
}

@media screen and (max-width: 768px) {
    .p-flow::before {
        top: 30px;
        right: 0;
        width: 120px;
        height: 124px;
    }
}

@media screen and (max-width: 768px) {
    .p-message::before {
        top: 30px;
        right: 0;
        width: 127px;
        height: 122px;
    }
}

@media screen and (max-width: 768px) {
    .chara-contactBtn {
        width: 9rem;
    }
}

@media screen and (min-width: 1001px) {
    .p-message::before {
        top: -16px;
        left: 60%;
        width: 211px;
        height: 216px;
    }
}

@media screen and (max-width: 768px) {
    .p-outline::before {
        right: 4px;
		top: 40px;
    }
}

@media screen and (min-width: 769px) {
    .p-contact::before {
        height: 200px;
    }
}

/*書き下ろし修了書横長*/
.l-header_privilege {
	background: transparent url(../images/banner/privilege_672x180.png) 0 0/100% auto no-repeat
}
@media screen and (max-width: 768px) {
    .l-header_privilege {
        height: 90px;
        width: 350px;
		background-position: -21px 0;
    }
}
@media screen and (min-width: 769px) {
    .l-header_privilege {
        top: 780px;
        right: -20px;
        width: 390px;
        height: 104px;
        z-index: 1;
    }
}