@charset "UTF-8";
.block-side-menu-item {
  border-bottom: 1px solid #fff;
}

.block-side-menu-item a {
  display: block;
  flex: 1;
  padding: 9px 10px 8px 30px;
  color: #990046;
}

.block-side-menu-item--has-children > h3::before {
  flex: 0 1 25px;
  content: url(../images/sidemenu/sidemenu-item-mark.png);
  text-align: center;
}

.block-side-menu-item--has-children > h3 > a {
  padding: 14px 10px 14px 0;
}

.block-side-menu-item > ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: none;
  font-size: 1rem;
  line-height: 1.72;
}

.block-side-menu-item > ul > li {
  border-bottom: 1px solid #d1b9c4;
}

.block-side-menu-item > ul > li:last-child {
  border: none;
}

.block-side-menu-item > ul > li:hover {
  background-color: #990046;
}

.block-side-menu-item a:hover {
  text-decoration: none;
  opacity: 1;
  color: #fff;
  background-color: #990046;
}

.block-side-menu-item > h3 {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  border: 0;
  cursor: pointer;
  background-color: #d1b9c4;
  font-size: 1rem;
}

.block-side-menu-item > h3:hover {
  color: #fff;
  background-color: #990046;
}

.block-side-menu-item > h3:hover > a {
  color: #fff;
}

.block-side-menu-item .marking-current-page {
  background-color: #ccc;
  font-weight: bold;
}

.block-side-menu .more-link {
  margin: 0;
  padding: 0;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  background-color: #990046;
  line-height: 1;
}

.block-side-menu .more-link > a {
  display: block;
  padding: 2.75em 3em;
  border-radius: 0;
  transition: none;
  text-align: center;
  color: #fff;
  background-color: transparent;
  font-size: 16px;
  font-weight: normal;
}

.block-side-menu .more-link > a:hover {
  margin: 0;
  text-decoration: underline;
  color: #fff;
}

.block-views-blocknews-list-latest-list-block > h2 {
  margin: 0;
  padding: 0 0 8px;
  border-bottom: 2px solid #990046;
  font-size: 1.875rem;
}

.block-views-blocknews-list-latest-list-block > h2::after {
  display: none;
}

.block-views-blocknews-list-latest-list-block .more-link {
  position: absolute;
  top: -45px;
  right: 0;
}

.block-views-blocknews-list-latest-list-block .more-link > a {
  border-radius: 3px;
}

.block-views-blocknews-list-latest-list-block .more-link > a:hover {
  text-decoration: none;
}

.block-views-blocknews-list-latest-list-block .view-news-list {
  position: relative;
}

.block-views-blocknews-list-latest-list-block .view-content {
  margin: 0;
}

.block-views-blocknews-list-latest-list-block .item-list > ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.block-views-blocknews-list-latest-list-block .item-list > ul > li {
  display: flex;
  margin: 0;
  padding: 12px 12px 12px 0;
  line-height: 1.4;
}

.block-views-blocknews-list-latest-list-block .item-list > ul > li:nth-child(odd) {
  background-color: #f7f7f7;
}

.block-views-blocknews-list-latest-list-block .views-field-field-published-on {
  flex: 0 1 110px;
  margin-right: 12px;
  text-align: center;
}

.block-views-blocknews-list-latest-list-block .views-field-title {
  flex: 1;
}

.block-views-blocknews-list-latest-list-block .views-field-title > .field-content > a {
  color: #222;
}

.block-views-blocknews-list-latest-list-block .views-field-title > .field-content > a:hover {
  text-decoration: underline;
  opacity: 1;
  color: #990046;
}

.button-japan-postal-code {
  padding: 6px 12px;
  border: 1px solid #46b8da;
  border-radius: 4px;
  color: #fff;
  background-color: #5bc0de;
  font-size: 0.875rem;
}

.button-japan-postal-code:hover {
  border-color: #269abc;
  background-color: #31b0d5;
}

.caption-img {
  max-width: 500px;
  margin: 0 auto 15px;
  padding: 0;
  background-color: #eee;
}

.caption-img figcaption {
  padding: 5px;
  background-color: #eee;
  font-size: 0.81rem;
  line-height: 1.5;
}

.contact_apply .contact h2 a {
  width: auto;
  padding: 5px 40px;
}

.entry_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.entry_box > .link-button {
  display: block;
  margin: 10px 18px;
}

.faq-page-article > h3 {
  margin-top: 35px;
}

.faq-page-article > section {
  padding: 0 0 35px;
}

.faq-page-article > section:last-child {
  padding: 0;
}

.faq-page-article > section > h4 {
  border-bottom: 1px solid #ccc;
}

.faq-page-article > section > h4::before {
  content: "Q.";
}

.faq-page-article > section > p {
  position: relative;
  margin: 0;
  padding-left: 1.5em;
}

.faq-page-article > section > p::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "A.";
  font-weight: bold;
}

input.form-control:-ms-input-placeholder {
  opacity: 1;
  color: #ccc;
}

input.form-control::-ms-input-placeholder {
  opacity: 1;
  color: #ccc;
}

input.form-control::placeholder {
  opacity: 1;
  color: #ccc;
}

.form-footer__privacy-policy {
  padding: 15px;
  border: 1px solid #bce8f1;
  border-radius: 4px;
  color: #222;
  background-color: #d9edf7;
}

.form-footer__privacy-policy > p {
  margin: 0;
  font-size: 0.8125rem;
  line-height: normal;
}

.form-footer__privacy-policy > p > a {
  text-decoration: underline;
}

.form-footer__privacy-policy--blue {
  color: #31708f;
}

.form-header__message {
  padding: 0 20px 30px 15px;
}

.form-header__message > p {
  margin: 0;
  line-height: normal;
}

.form-header__message--blue {
  padding: 15px;
  border: 1px solid #bce8f1;
  border-radius: 4px;
  color: #31708f;
  background-color: #d9edf7;
}

.form-open-campus-schedule__place {
  margin: 0 15px 0 4px;
  padding: 2px 6px;
  border-radius: 3px;
  vertical-align: middle;
  color: #fff;
}

.form-open-campus-schedule__place--kyoto {
  background-color: #2b63be;
}

.form-open-campus-schedule__place--tokyo {
  background-color: #006b0a;
}

.form-open-campus-schedule__place--sapporo {
  background-color: #b2254c;
}

.glyphicon-right-arrow-before::before {
  position: relative;
  top: 1px;
  display: inline-block;
  padding-right: 5px;
  content: "\e080";
  color: #ddd;
  font-family: "Glyphicons Halflings", sans-serif;
  font-size: 70%;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}

.glyphicon-right-arrow-before--link::before {
  top: -1px;
  padding: 5px;
}

.glyphicon-right-arrow-before--link:hover::before {
  color: #fff;
}

.glyphicon-right-arrow-before--link-button::before {
  color: #050505;
  font-size: 90%;
}

.glyphicon-right-arrow-before--bg-red::before {
  top: -1px;
  margin-right: 10px;
  padding: 5px;
  color: #fff;
  background-color: #990046;
  font-size: 60%;
}

.glyphicon-right-arrow-after {
  position: relative;
  padding-right: 40px;
}

.glyphicon-right-arrow-after::after {
  position: absolute;
  top: 50%;
  right: 1rem;
  content: "\e080";
  transform: translateY(-50%);
  color: #666;
  font-family: "Glyphicons Halflings", sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}

.header-navbar {
  margin-right: 0;
}

.header-navbar > li > a:hover {
  text-decoration: underline;
}

.link-button-wrapper {
  text-align: center;
}

.link-button {
  display: inline-block;
  box-sizing: border-box;
  min-width: 250px;
  margin: 10px 2.5px;
  padding: 10px 20px;
  border-radius: 4px;
  color: #fff;
  background-color: #023869;
}

.link-button:hover {
  color: #fff;
}

.messages > ul {
  margin: 0;
  padding: 0;
}

.more-link > a {
  display: block;
  margin: 0;
  padding: 5px 10px;
  text-align: center;
  color: #000;
  background-color: #eee;
  box-shadow: 0 1px 0 #ccc;
  font-size: 0.5rem;
  font-weight: bold;
  line-height: 1.5;
}

.more-link > a:hover {
  margin-top: 1px;
  color: #990046;
  box-shadow: none;
}

.node__meta {
  padding: 0;
  background-color: transparent;
}

.node__meta .node__submitted {
  margin-bottom: 45px;
  color: #666;
  font-size: 13.65px;
  line-height: 1.5;
}

.node--type-news {
  margin-top: -35px;
}

.page-article {
  margin-top: 48px;
}

.page-news-list .item-list > ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-news-list .item-list li {
  margin: 0;
}

.page-news-list .item-list h3 {
  padding: 0;
}

.page-news-list .item-list a {
  display: block;
  padding: 10px 20px;
  color: #666;
}

.page-news-list .item-list a:hover {
  text-decoration: underline;
}

.page-other-link {
  display: flex;
  flex-direction: row;
  padding: 55px 0 0;
}

.page-other-link__item {
  flex: 1;
  margin: 0 15px;
  border: 1px solid #999;
  background-color: #efefef;
}

.page-other-link__item:hover {
  opacity: 0.7;
}

.page-other-link__item > a {
  display: block;
  padding: 10px;
  text-align: center;
  color: #050505;
}

.page-other-link__item > a:hover {
  text-decoration: none;
  opacity: 1;
}

.page-professor-list .views-row {
  display: flex;
  padding: 30px 0 20px;
  border-bottom: 2px dotted #ccc;
}

.page-professor-list .views-row:first-child {
  padding-top: 0;
}

.page-professor-list .views-field-field-images {
  box-sizing: border-box;
  width: 16.67%;
  padding: 0 15px;
}

.page-professor-list .views-field-field-images > img {
  width: 100%;
  height: auto;
}

.page-professor-list .views-field-field-professor-career {
  box-sizing: border-box;
  width: 83.33%;
  padding: 0 15px;
}

.page-professor-list .views-field-field-professor-career > h2 {
  margin-bottom: 15px;
  padding-top: 0;
}

.page-professor-list .views-field-field-professor-career .name-eng-box {
  margin-left: 5px;
  font-size: 0.875rem;
}

.page-professor-list .views-field-field-professor-career > ul {
  margin-bottom: 0;
}

.page-professor-list .views-field-field-professor-career > div {
  margin: 0;
  padding: 15px;
}

.page-professor-list .views-field-field-professor-career > a {
  display: block;
  padding: 5px;
  border: 1px solid #efefef;
  border-radius: 3px;
  text-align: center;
  color: #990046;
  background-color: #efefef;
  font-size: 0.8rem;
}

.page-professor-list .views-field-field-professor-career > a::before {
  content: "keyboard_arrow_right";
  display: inline-block;
  white-space: nowrap;
  letter-spacing: normal;
  text-transform: none;
  word-wrap: normal;
  direction: ltr;
  font-family: "Material Icons", sans-serif;
  font-feature-settings: "liga" 1;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  vertical-align: -5px;
  color: #990046;
}

.page-professor-list .views-field-field-professor-career > a:hover {
  border: 1px solid #ddd;
  text-decoration: underline;
  background-color: #eee;
}

.page-professor-list .views-field-field-professor-career .prof_hl {
  display: none;
}

.page-title ~ .page-sub-title {
  margin-top: -30px;
  margin-bottom: 30px;
}

.paragraph--type--block-contents-area {
  padding: 50px 0;
}

.paragraph--type--block-contents-area .field__label {
  display: none;
}

.paragraph--type--block-contents-area .field__items {
  display: flex;
  flex-direction: row;
}

.paragraph--type--block-contents-area .field__items > .field__item:first-child {
  width: 58.3%;
  margin-right: 15px;
}

.paragraph--type--block-contents-area .field__items > .field__item:last-child {
  width: 41.7%;
}

.path-frontpage {
  overflow-x: hidden;
}

.search-form {
  margin: 20px 0 30px;
}

.search-form .form-wrapper {
  display: flex;
  margin-bottom: 10px;
}

.search-form .form-wrapper > .form-group {
  flex: 1 1 auto;
  box-sizing: border-box;
  margin: 0;
  padding-right: 8px;
}

.search-form .form-wrapper > .form-group > label {
  display: none;
}

.search-form .form-wrapper > .form-submit {
  flex: 0 1 90px;
  margin: 0;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: transparent;
}

.search-form ~ .item-list > ol {
  padding: 0;
}

.search-form ~ .item-list > ol > li {
  margin: 0;
}

.search-result {
  margin-bottom: 40px;
}

.search-result > h3 {
  margin: 0;
  padding: 0;
}

.search-result > h3 > a {
  display: block;
  padding: 10px 20px;
  color: #666;
}

.search-result > h3 > a:hover {
  text-decoration: underline;
}

.search-result > p {
  margin: 10px 0 0;
  padding: 0 20px;
  font-size: 0.875rem;
}

.side-menu-list .menu-item--expanded > .menu {
  display: none;
}

.side-menu-list .menu--main .menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

.side-menu-list .menu--main > .menu > .menu-item:not(.menu-item--active-trail) {
  display: none;
}

.side-menu-list .menu--main > .menu > .menu-item--active-trail {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  background-color: #990046;
}

.side-menu-list .menu--main > .menu > .menu-item--active-trail > .menu-item-link a {
  display: block;
  padding: 2.5em 3em;
  transition: none;
  text-align: center;
  color: #fff;
}

.side-menu-list .menu--main > .menu > .menu-item--active-trail > .menu-item-link a:hover {
  text-decoration: underline;
}

.side-menu-list .menu--main > .menu .menu .menu-item {
  border-bottom: 1px solid #fff;
  background-color: #d1b9c4;
}

.side-menu-list .menu--main > .menu .menu .menu-item > .menu-item-link {
  position: relative;
  width: 100%;
}

.side-menu-list .menu--main > .menu .menu .menu-item > .menu-item-link > button {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 25px;
  height: auto;
  padding: 0;
  border: none;
  cursor: pointer;
  outline: none;
  background: transparent url(../images/sidemenu/sidemenu-item-mark.png) center center no-repeat;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.side-menu-list .menu--main > .menu .menu .menu-item:not(.menu-item--expanded) .menu-item-link {
  font-size: 0.93125rem;
}

.side-menu-list .menu--main > .menu .menu .menu-item > .menu-item-link > a {
  display: block;
  padding: 10px 10px 10px 30px;
  color: #990046;
  line-height: 2rem;
}

.side-menu-list .menu--main > .menu .menu .menu-item.menu-item--expanded > .menu-item-link > a {
  padding: 10px 10px 10px 25px;
}

.side-menu-list .menu--main > .menu .menu .menu-item > .menu-item-link > a:hover,
.side-menu-list .menu--main > .menu .menu .menu-item > .menu-item-link > button:hover + a {
  text-decoration: none;
  opacity: 1;
  color: #fff;
  background-color: #990046;
}

.side-menu-list .menu--main > .menu .menu .menu-item.menu-item--expanded > .menu .menu-item-link > a {
  font-size: 1rem;
  line-height: 1.5em;
}

.side-menu-list .menu-item > .menu .menu > .menu-item {
  border-bottom: 1px solid #d1b9c4;
  background-color: #fff;
}

.side-menu-list .menu--main > .menu > li > .menu > .menu-item {
  border-bottom: 1px solid #fff;
  background-color: #d1b9c4;
}

.side-menu-list .menu .menu .is-active {
  background-color: #ccc;
  font-weight: bold;
}

.sidr ul {
  margin-bottom: 0;
  border-bottom: 0;
}

.sidr ul:not(:only-child):last-child {
  border-bottom: 1px solid #fff;
}

#sub-box3 .row > a > span {
  display: block;
}

#sub-box3 .row > a > span:first-of-type:last-of-type {
  padding-bottom: 15px;
}

.tabs {
  margin-bottom: 45px;
  padding: 0;
}

.block-local-tasks-block:first-child > .tabs {
  margin-top: -45px;
}

.tabs > .tabs__primary {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  overflow-x: auto;
  padding: 0;
  padding-top: 12px;
  box-shadow: 0 -1px #dcdddd inset;
}

.tabs > .tabs__primary > li {
  box-sizing: border-box;
  margin: 0 10px 0 0;
}

.tabs > .tabs__primary a {
  display: block;
  padding: 0 20px;
  white-space: nowrap;
  color: #666;
  background-color: #fff;
  box-shadow: 1px 1px #dcdddd inset, -1px -1px #dcdddd inset;
  font-size: 14px;
  line-height: 32px;
}

.tabs > .tabs__primary a:hover {
  opacity: 1;
  color: #990046;
  background-color: #d1b9c4;
}

.tabs > .tabs__primary a.is-active {
  box-shadow: 1px 1px #dcdddd inset, -1px 0 #dcdddd inset;
}

.view-top-page-slideshow {
  position: relative;
  width: 100%;
}
.view-top-page-slideshow .slick__slide{
  overflow: hidden;
}
.view-top-page-slideshow .slick__slide img {
  width: 100%;
  transition: 0.15s ease-in-out;
}

.view-top-page-slideshow .slick__slide img:hover {
  transform: scale(1.1, 1.1);
  opacity: 0.7;
}

.view-top-page-slideshow .slick-dots {
  position: absolute;
  bottom: 30px;
}

.view-top-page-slideshow .slick-dots > li {
  width: auto;
  height: auto;
  margin: 0 0 0 5px;
  vertical-align: middle;
}

.view-top-page-slideshow .slick-dots > li:first-child {
  margin: 0;
}

.view-top-page-slideshow .slick-dots > li > button {
  width: 10px;
  height: 10px;
  padding: 0;
  border: 1px solid #fff;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 3px #666;
}

.view-top-page-slideshow .slick-dots > li > button[aria-selected="true"] {
  width: 12px;
  height: 12px;
  background-color: #fff;
}

.view-top-page-slideshow .slick-dots > li > button::before {
  display: none;
}

.view-top-page-slideshow .slick-arrow {
  width: 50px;
  height: 50px;
}

.view-top-page-slideshow .slick-arrow:hover {
  opacity: 0.7;
}

.view-top-page-slideshow .slick-arrow::before {
  display: none;
}

.view-top-page-slideshow .slick-prev {
  margin-left: 4%;
  background: url(../images/slideshow/prev.png) no-repeat center/cover;
}

.view-top-page-slideshow .slick-next {
  margin-right: 4%;
  background: url(../images/slideshow/next.png) no-repeat center/cover;
}

.view-top-page-slideshow .slick-slider {
  margin: 0;
}

.webform-confirmation {
  max-width: 750px;
  margin: 0 auto;
}

.webform-confirmation legend {
  margin: 0;
  border: none;
  font-size: 1rem;
  font-weight: bold;
}

.webform-confirmation__message {
  margin: 30px 0;
}

.webform-confirmation__back {
  text-align: center;
}

.webform-confirmation__back > a {
  display: inline-block;
  padding: 6px 24px;
  border: 1px solid #f3f3f3;
  border-radius: 4px;
  color: #000;
  background-color: #f3f3f3;
  font-size: 1.125rem;
  font-weight: bold;
}

.webform-confirmation__back > a:hover {
  border-color: #8a8a8a;
  color: #fff;
  background-color: #8a8a8a;
}

.webform-preview label,
.webform-preview legend {
  display: block;
  margin: 1em 0 0;
  line-height: 1.6;
}

.webform-preview .webform-container {
  margin: 1em 0 0;
}

.webform-preview .form-footer__privacy-policy {
  margin: 25px 0;
}

.webform-preview .mail-notice {
  line-height: normal;
}

.webform-progress {
  margin-bottom: 15px;
}

.block-system-main-block > .webform-progress {
  margin-bottom: 40px;
}

.webform-progress > .progress-tracker {
  position: relative;
  height: 54px;
  margin: 0;
  padding: 0 15px 0 0;
}

.webform-progress > .progress-tracker .progress-step {
  position: relative;
  margin: 0;
  background-color: #f3f3f3;
}

.webform-progress > .progress-tracker .progress-step::after {
  position: absolute;
  z-index: 2;
  top: 0;
  right: -20px;
  width: 20px;
  height: 54px;
  content: "";
  background: transparent url(../images/form/flow-bg.png) no-repeat right top;
}

.webform-progress > .progress-tracker .progress-step > .progress-marker {
  display: none;
}

.webform-progress > .progress-tracker .progress-step > .progress-text {
  padding-top: 10px;
  color: #222;
}

.webform-progress > .progress-tracker .progress-step:not(:first-child) > .progress-text {
  margin-left: 20px;
}

.webform-progress > .progress-tracker .progress-step.is-active {
  background-color: #8a8a8a;
}

.webform-progress > .progress-tracker .progress-step.is-active::after {
  background: transparent url(../images/form/flow-bg-current.png) no-repeat right top;
}

.webform-progress > .progress-tracker .progress-step.is-active > .progress-text {
  color: #fff;
}

.webform-progress > .progress-tracker .progress-step.is-active > .progress-text > .protress-title {
  font-weight: normal;
}

.webform-progress ~ .annotation {
  margin-top: -13px;
  padding: 0 20px 20px 0;
}

.webform-progress ~ .annotation > p {
  margin: 0;
  text-align: right;
  font-size: 0.8125rem;
  line-height: 1;
}

.webform-submission-contact-form .form-item > input[name="name"],
.webform-submission-contact-form .form-item > input[name="email"],
.webform-submission-contact-form .form-item > select[name="question_type"] {
  width: 100%;
}

.webform-submission-contact-form .form-item > input[name="telephone"],
.webform-submission-contact-form .form-item > input[name="postal_code"] {
  width: 30%;
}

.webform-submission-contact-form .form-item > input[name="address"] {
  width: 93%;
}

.webform-submission-contact-form .form-item textarea[name="message"] {
  width: 100%;
  height: auto;
  border-radius: 4px;
}

.webform-submission-contact-form .form-item-telephone > input[name="telephone"],
.webform-submission-contact-form .form-item-telephone > input[name="postal_code"],
.webform-submission-contact-form .form-item-telephone > input[name="address"],
.webform-submission-contact-form .form-item-postal-code > input[name="telephone"],
.webform-submission-contact-form .form-item-postal-code > input[name="postal_code"],
.webform-submission-contact-form .form-item-postal-code > input[name="address"],
.webform-submission-contact-form .form-item-address > input[name="telephone"],
.webform-submission-contact-form .form-item-address > input[name="postal_code"],
.webform-submission-contact-form .form-item-address > input[name="address"] {
  margin-bottom: 8px;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}

.webform-submission-contact-form .form-item-telephone > input[name="address"],
.webform-submission-contact-form .form-item-postal-code > input[name="address"],
.webform-submission-contact-form .form-item-address > input[name="address"] {
  margin-bottom: 0;
}

.webform-submission-contact-form .form-item-telephone > label[for="edit-telephone"],
.webform-submission-contact-form .form-item-telephone > label[for="edit-postal-code"],
.webform-submission-contact-form .form-item-telephone > label[for="edit-address"],
.webform-submission-contact-form .form-item-postal-code > label[for="edit-telephone"],
.webform-submission-contact-form .form-item-postal-code > label[for="edit-postal-code"],
.webform-submission-contact-form .form-item-postal-code > label[for="edit-address"],
.webform-submission-contact-form .form-item-address > label[for="edit-telephone"],
.webform-submission-contact-form .form-item-address > label[for="edit-postal-code"],
.webform-submission-contact-form .form-item-address > label[for="edit-address"] {
  display: block;
  float: left;
  margin-bottom: 8px;
  padding: 0 12px;
  border: 1px solid #ccc;
  border-bottom-left-radius: 4px;
  border-right: 0;
  border-top-left-radius: 4px;
  text-align: center;
  color: #555;
  background-color: #eee;
  font-size: 0.875rem;
  font-weight: normal;
}

.webform-submission-contact-form .form-item-telephone > label[for="edit-address"],
.webform-submission-contact-form .form-item-postal-code > label[for="edit-address"],
.webform-submission-contact-form .form-item-address > label[for="edit-address"] {
  width: 7%;
  margin-bottom: 0;
  padding: 0;
}

.webform-submission-contact-form .form-item-address {
  margin-top: 8px;
}

.webform-submission-contact-form .form-actions {
  margin-top: 20px;
  text-align: center;
}

.webform-submission-contact-form .form-actions > input[type="submit"] {
  padding: 10px 18px;
}

.webform-submission-document-request-form .form-item > input[type="tel"] {
  width: 49%;
}

.webform-submission-document-request-form .form-item > input[name*="name"],
.webform-submission-document-request-form .form-item > input[name*="address"],
.webform-submission-document-request-form .form-item > input[name*="email"],
.webform-submission-document-request-form .form-item > select {
  width: 100%;
}

.webform-submission-document-request-form .form-item-postal-code > label {
  display: block;
}

.webform-submission-document-request-form .form-item-postal-code > input[name="postal_code"] {
  float: left;
  width: 35% !important;
  margin-right: 2%;
}

.webform-submission-document-request-form .form-actions {
  padding: 20px 0;
  text-align: center;
}

.webform-submission-document-request-form .form-actions > input[type="submit"] {
  width: 140px;
  height: 40px;
  font-size: 1.125rem;
}

.webform-submission-document-request-form #edit-additional-materials-to-request > .form-item:nth-child(2) {
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #eee;
}

.webform-submission-form {
  max-width: 750px;
  margin: 40px auto 0;
}

.webform-submission-form input:-ms-input-placeholder {
  opacity: 1;
  color: #ccc;
}

.webform-submission-form input::-ms-input-placeholder {
  opacity: 1;
  color: #ccc;
}

.webform-submission-form input::placeholder {
  opacity: 1;
  color: #ccc;
}

.webform-submission-form > div,
.webform-submission-form > fieldset {
  margin: 0 0 15px;
}

.webform-submission-form legend {
  margin: 0;
  border: none;
  font-size: 1rem;
  font-weight: bold;
}

.webform-submission-form .webform-flexbox {
  margin-top: 0;
  margin-bottom: 0;
}

.webform-submission-form .form-required::after {
  display: inline;
  margin: 2px;
  padding: 2px;
  content: "必須";
  vertical-align: bottom;
  color: #fff;
  background: #800 none;
  font-size: 0.625rem;
  font-weight: normal;
}

.webform-submission-form .form-item > label {
  font-size: 1rem;
  font-weight: bold;
}

.webform-submission-form .form-item > input,
.webform-submission-form .form-item > select {
  border-radius: 4px;
}

.webform-submission-form .form-item > input:not([type="radio"]):not([type="checkbox"]):not([type="button"]),
.webform-submission-form .form-item > select,
.webform-submission-form .form-item textarea {
  display: block;
  height: 34px;
  padding: 6px 12px;
  border: 1px solid #ccc;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  color: #555;
  background-color: #fff;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.webform-submission-form .form-item > input:not([type="radio"]):not([type="checkbox"]):not([type="button"]).error,
.webform-submission-form .form-item > select.error,
.webform-submission-form .form-item textarea.error {
  border: #a94442 2px solid;
}

.webform-submission-form .form-item .error {
  border: #a94442 2px solid;
}

.webform-submission-form .form-item .error + label {
  color: #a94442;
  font-weight: bold;
}

.webform-submission-form .form-item > .form-radio {
  display: inline;
}

.webform-submission-form .form-item .option {
  cursor: pointer;
  font-weight: normal;
  display: inline;
  line-height: 1.6;
}

.webform-submission-form .form-type-email > .description {
  margin-bottom: 15px;
  line-height: normal;
}

.webform-submission-form .form-type-email > .description > div {
  line-height: normal;
}

.webform-submission-form .form-item-postal-code > label {
  display: block;
}

.webform-submission-form .form-item-postal-code > input[name="postal_code"] {
  float: left;
  width: 35% !important;
  margin-right: 2%;
}

.webform-submission-form .form-item-address > .description strong {
  color: #f00;
}

.webform-submission-form .form-checkboxes > .form-item {
  display: flex;
  align-items: baseline;
  margin: 0;
}

.webform-submission-form .form-checkboxes > .form-item > input[type="checkbox"] {
  margin-right: 5px;
}

.webform-submission-form .form-checkboxes > .form-item > .option {
  margin: 0;
}

.webform-submission-form .form-checkboxes > .form-item > .description {
  margin: 0;
}

.webform-submission-form .form-checkboxes > .form-item > .description > .webform-element-description > a {
  text-decoration: none;
}

.webform-submission-form .form-checkboxes > .form-item > .description > .webform-element-description > a:hover {
  text-decoration: underline;
}

.webform-submission-form .form-radios {
  display: flex;
}

.webform-submission-form .form-radios > .form-item {
  margin: 0 0 0 10px;
}

.webform-submission-form .form-radios > .form-item:first-child {
  margin: 0;
}

.webform-submission-form .form-actions > input[type="submit"] {
  border: 1px solid #46b8da;
  border-radius: 4px;
  color: #fff;
  background-color: #5bc0de;
  -webkit-appearance: button;
     -moz-appearance: button;
          appearance: button;
  font-size: 1.125rem;
  font-weight: bold;
}

.webform-submission-form .form-actions > input[type="submit"]:hover {
  border-color: #8a8a8a;
  color: #fff;
  background-color: #8a8a8a;
}

.webform-submission-form .form-actions input.webform-button--previous {
  border-color: #f3f3f3;
  color: #000;
  background-color: #f3f3f3;
}

.webform-submission-guidance-form .form-item > input[name^="name"],
.webform-submission-guidance-form .form-item > input[name="telephone"],
.webform-submission-guidance-form .form-item > input[name^="email"],
.webform-submission-guidance-form .form-item > input[name^="address"],
.webform-submission-guidance-form .form-item > input[name^="final_education_college"],
.webform-submission-guidance-form .form-item > input[name^="final_education_department"],
.webform-submission-guidance-form .form-item > input[name^="job"],
.webform-submission-guidance-form .form-item > select[name="current_grade"] {
  width: 100%;
}

.webform-submission-guidance-form .form-item > input[name="age"],
.webform-submission-guidance-form .form-item > input[name^="number_of"] {
  width: 20%;
}

.webform-submission-guidance-form .form-item > input[name="final_education_school_name"] {
  width: 40%;
}

.webform-submission-guidance-form .form-item > select[name^="final"] {
  width: 30%;
}

.webform-submission-guidance-form .form-item-age > label,
.webform-submission-guidance-form .form-item-number-of-families-participating-on-the-day > label,
.webform-submission-guidance-form .form-item-number-of-friends-to-join-together-on-the-day > label {
  display: block;
}

.webform-submission-guidance-form .form-item-age > input,
.webform-submission-guidance-form .form-item-number-of-families-participating-on-the-day > input,
.webform-submission-guidance-form .form-item-number-of-friends-to-join-together-on-the-day > input {
  float: left;
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}

.webform-submission-guidance-form .form-item-age > .field-suffix,
.webform-submission-guidance-form .form-item-number-of-families-participating-on-the-day > .field-suffix,
.webform-submission-guidance-form .form-item-number-of-friends-to-join-together-on-the-day > .field-suffix {
  display: table-cell;
  height: 34px;
  padding: 0 12px;
  border: 1px solid #ccc;
  border-bottom-right-radius: 4px;
  border-left: 0;
  border-top-right-radius: 4px;
  text-align: center;
  vertical-align: middle;
  color: #555;
  background-color: #eee;
  font-size: 0.875rem;
  line-height: 1;
}

.webform-submission-guidance-form .form-item-final-education-school-name > input {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}

.webform-submission-guidance-form .form-item-final-education-school-name > .field-prefix {
  display: block;
  float: left;
  height: 34px;
  padding: 0 12px;
  border: 1px solid #ccc;
  border-bottom-left-radius: 4px;
  border-right: 0;
  border-top-left-radius: 4px;
  text-align: center;
  color: #555;
  background-color: #eee;
  font-size: 0.875rem;
  line-height: 34px;
}

.webform-submission-guidance-form .fieldset-final-education > .fieldset-wrapper > .form-item {
  margin-bottom: 8px;
}

.webform-submission-guidance-form .fieldset-final-education > .fieldset-wrapper > .form-item:last-child {
  margin-bottom: 0;
}

.webform-submission-guidance-form .fieldset-question-type > .fieldset-wrapper > .form-radios {
  flex-direction: column;
}

.webform-submission-guidance-form .fieldset-question-type > .fieldset-wrapper > .form-radios > .form-item {
  margin: 0;
  margin-bottom: 0.3rem;
  padding-left: 1rem;
  text-indent: -1rem;
  line-height: 1;
}

.webform-submission-guidance-form .fieldset-question-type > .fieldset-wrapper > .form-radios > .form-item > .description {
  display: inline-block;
  color: #a94442;
}

.webform-submission-guidance-form .fieldset-question-type > .fieldset-wrapper > .form-radios > .form-item > .description > div {
  line-height: 1;
}

.webform-submission-guidance-form .form-actions {
  padding: 20px 0;
  text-align: center;
}

.webform-submission-guidance-form .form-actions > input[type="submit"] {
  width: 140px;
  height: 40px;
  font-size: 1.125rem;
}

.webform-submission-guidance-international-form .form-item > input[name="final_education_school_name"],
.webform-submission-guidance-international-form .form-item > input[name="note"] {
  width: 100%;
}

.webform-submission-guidance-international-form .form-item > select[name="current_grade"] {
  width: 30%;
}

.webform-submission-guidance-international-form .form-item-final-education-school-name > input {
  border-bottom-left-radius: 4px;
  border-top-left-radius: 4px;
}

/*# sourceMappingURL=components.css.map */
