/* =========================================
base
========================================= */
html {
  font-size: 62.5%;

  word-wrap: break-word;

  -webkit-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
  -webkit-touch-callout: none;
}

@media screen and (max-width: 640px) {
  html {
    font-size: 50%;
  }
}

body {
  font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-size: 14px;
  font-size: 1.4rem;

  min-width: 1340px;

  text-align: center;

  border-left: solid 5px rgba(208, 17, 39, .95);
  border-left: solid 5px #d01027;
}

/* =========================================
only
========================================= */
.only_PC {
  display: inherit;
}

.only_SP {
  display: none;
}

@media screen and (max-width: 640px) {
  .only_PC {
    display: none;
  }

  .only_SP {
    display: inherit;
  }
}

/* =========================================
link系
========================================= */
a,
a:link,
a:visited {
  transition: all .3s ease;
  text-decoration: none;

  color: #333;
}

a:link.simpleLink {
  text-decoration: underline;
}

a:hover {
  color: #d01027;
}

/* =========================================
hタグ
========================================= */
.h3 {
  margin-bottom: 10px;
}

.h3 {
  font-size: 24px;

  color: #333 !important;
}

.h4 {
  font-size: 18px;

  display: inline-block;

  margin-bottom: 15px;
  padding-bottom: 5px;

  border-bottom: 2px solid #d01027;
}


/* =========================================
header
========================================= */
body > header {
  line-height: 1;
}

header {
  padding: 0;

  border-bottom: 1px solid #e0e0e0;
}

/* =========================================
sectionArea
========================================= */
.sectionArea + .sectionArea {
  margin-top: 30px;
}

/* =========================================
colBox
========================================= */
.colBox {
  min-height: 1px;
  margin-right: -5px;
  margin-left: -5px;
}

.colBox.formGroup {
  margin-bottom: 10px;
}

.colBox:after {
  display: block;
  visibility: hidden;
  clear: both;

  height: 0;

  content: '.';
}

.colBox > .col {
  float: left;

  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  margin-bottom: 10px;
  padding: 0 5px;

      -ms-box-sizing: border-box;
       -o-box-sizing: border-box;
}

.colBox.formGroup > .col {
  margin-bottom: 0;
}

.colBox > .col1 {
  width: 100%;
  width: -webkit-calc(100% / 1);
  width:    -moz-calc(100% / 1);
  width:         calc(100% / 1);
}

.colBox > .col2 {
  width: 50%;
  width: -webkit-calc(100% / 2);
  width:    -moz-calc(100% / 2);
  width:         calc(100% / 2);
}

.colBox > .col3 {
  width: 33.33%;
  width: -webkit-calc(100% / 3);
  width:    -moz-calc(100% / 3);
  width:         calc(100% / 3);
}

.colBox > .col3-2 {
  width: 66.66%;
  width: -webkit-calc(100% / 3 * 2);
  width:    -moz-calc(100% / 3 * 2);
  width:         calc(100% / 3 * 2);
}

.colBox > .col4 {
  width: 25%;
  width: -webkit-calc(100% / 4);
  width:    -moz-calc(100% / 4);
  width:         calc(100% / 4);
}

.colBox > .col4-3 {
  width: 75%;
  width: -webkit-calc(100% / 4 + 3);
  width:    -moz-calc(100% / 4 + 3);
  width:         calc(100% / 4 + 3);
}

.colBox > .col5 {
  width: 20%;
  width: -webkit-calc(100% / 5);
  width:    -moz-calc(100% / 5);
  width:         calc(100% / 5);
}

.colBox > .col5-2 {
  width: 40%;
  width: -webkit-calc(100% / 5 * 2);
  width:    -moz-calc(100% / 5 * 2);
  width:         calc(100% / 5 * 2);
}

.colBox > .col5-3 {
  width: 60%;
  width: -webkit-calc(100% / 5 * 3);
  width:    -moz-calc(100% / 5 * 3);
  width:         calc(100% / 5 * 3);
}

.colBox > .col6 {
  width: 16.66%;
  width: -webkit-calc(100% / 6);
  width:    -moz-calc(100% / 6);
  width:         calc(100% / 6);
}

.colBox > .col6-5 {
  width: 83.34%;
  width: -webkit-calc(100% / 6 * 5);
  width:    -moz-calc(100% / 6 * 5);
  width:         calc(100% / 6 * 5);
}

.colBox > .col.flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.colBox > .col.flex.center {
  justify-content: center;
}

.colBox > .col.wrap {
  flex-wrap: wrap;
  justify-content: flex-start;

  gap: 8px;
}

.profile_icon img {
  width: 55px;
  height: auto;

  border-radius: 50px;
}

.col > .select_icon {
  padding: 4px;

  cursor: pointer;

  border: none;
  background: transparent;
}

.col > .select_icon:hover {
  opacity: .5;
}

.colBox .select_icon > input[type='radio'] {
  display: none;
}

.colBox .select_icon > input[type='radio']:checked + img {
  box-sizing: border-box;
  width: 60px;
  margin: -2px;
  padding: 4px;

  cursor: pointer;

  opacity: 1!important;
  border-radius: 1000px;
  box-shadow: 0 0 0 2px rgb(218, 73, 89);
}

@media screen and (max-width: 640px) {
  .colBox:not(.noVertical) {
    margin-right: 0;
    margin-left: 0;
  }

  .colBox:not(.noVertical) > .col {
    float: none;

    width: auto;
    margin-right: 0;
    margin-left: 0;
    padding: 0;
  }
}

/* =========================================
hd_banner
========================================= */
.hd_banner .hd_banner_current {
  letter-spacing: .1em;
}

@media screen and (min-width: 641px) {
  .hd_banner_wrap {
    overflow: hidden;

    width: 100%;
  }

  .hd_banner {
    overflow: visible !important;

    margin: 0 auto;
  }

  .hd_banner .hd_banner_current {
    right: 500px;

    width: 100%;
  }

  .hd_banner .hd_background {
    left: 0;

    width: 100%;

    background-size: cover;
  }
}

@media screen and (max-width: 640px) {
  .hd_banner .hd_banner_current {
    top: inherit;
    bottom: 0;

    box-sizing: border-box;
    height: inherit;
    padding: 10px;
  }

  .hd_banner_current .hd_banner_title {
    top: inherit;
    right: inherit;
    left: 50%;

    float: inherit;

    transform: inherit;
    text-align: center;
  }

  .hd_banner_current .hd_banner_title {
    font-size: 18px;
    font-size: 1.8rem;
  }

  .hd_banner .hd_background {
    background-position: center;
  }
}

.hd_banner.small .hd_banner_current {
  top: 0;
}

.hd_banner.small .hd_background {
  height: 100px;
}

@media screen and (max-width: 640px) {
  .hd_banner.small .hd_banner_current {
    position: inherit;
    top: 0;

    width: 100% !important;
    height: 100%;
  }

  .hd_banner.small .hd_background {
    display: none;
  }
}

/* textOnly */
.hd_banner.textOnly .hd_banner_title {
  font-size: 28px;
}

.hd_banner {
  position: relative;

  overflow: hidden;
}

.hd_banner_current {
  position: absolute;
  z-index: 1;
  top: 70px;

  width: 54.6%;
  height: 100px;

  background-color: #9fa1a0;
}

.hd_background {
  position: relative;
  left: 125px;

  width: 200%;
  height: 195px;

  background-repeat: no-repeat;
  background-position: left;
  background-size: contain;
}

.hd_banner_title {
  font-size: 22px;
  font-weight: bold;

  position: relative;
  top: 50%;
  right: 0;

  display: inline-block;
  float: right;

  margin-right: 20px;

  transform: translateY(-50%);

  color: #fff;
}

.hd_banner_inner {
  position: absolute;
  right: 0;

  float: right;

  width: 615px;
  height: 100%;
}

/* =========================================
Content
========================================= */
#content {
  letter-spacing: .1em;

  background: #fff;
}

.site-content hr {
  height: 1px;
  margin: 40px 0;

  color: #ccc;
  border: none;
  background-color: #ccc;
}

.site-content p {
  line-height: 1.8;

  margin-bottom: 20px;
}

.site-content p a {
  color: #333;
}

.site-content p a:hover {
  color: #999;
}

.site-content p a,
.site-content p a:link,
.site-content p a:visited {
  color: #d21d32;
}

.site-content p a:hover {
  opacity: .75;
  color: #e14356;
}

.site-content table {
  width: 100%;

  border-collapse: collapse;

  border: #ccc solid 1px;
}

.site-content table thead th {
  font-size: 16px;

  padding: 10px 15px;

  border-collapse: collapse;

  color: #fff;
  border: #ccc solid 1px;
  background: #a1a1a1;
}

.site-content table tbody th {
  font-size: 16px;

  padding: 10px 15px;

  border-collapse: collapse;

  text-align: center;
  vertical-align: top;

  border: #ccc solid 1px;
  background: #f7f7f7;
}

.site-content table tbody td {
  padding: 10px 15px;

  border-collapse: collapse;

  vertical-align: top;

  border: #ccc solid 1px;
  background: #fff;
}

@media screen and (max-width: 640px) {
  .site-content table {
    border: none;
  }

  .site-content table thead {
    display: none;
  }

  .site-content table tbody th {
    display: block;

    color: #fff;
    border: none;
    background: #a1a1a1;
  }

  .site-content table tbody td {
    position: relative;

    display: block;

    border-top: none;
  }

  .site-content table tbody td::before {
    font-weight: bold;

    position: absolute;
    top: 0;
    left: 0;

    float: left;
    clear: both;

    box-sizing: border-box;
    width: 14em;
    height: 100%;
    padding: 10px 15px;

    content: attr(label);
    text-align: center;

    border-right: #ccc solid 1px;
    background: #f7f7f7;
  }

  .site-content table tbody td p {
    padding-left: 10em;
  }
}

.site-content table p {
  margin-bottom: 0;
}

/* =========================================
noticeBox
========================================= */
.noticeBox {
  font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  line-height: 1.6;

  margin-top: 50px;
  padding: 40px;
  padding: 4.0rem;

  color: #bd1630;
  border-radius: 5px;
  background: #f7edee;
}

.noticeBox .noticeBox_title {
  font-size: 16px;
  font-weight: bold;

  margin-bottom: 10px;

  text-align: center;

  color: #bd1630;
}

.noticeBox .noticeBox_text {
  line-height: 1.4;

  text-align: center;

  color: #bd1630;
}

.noticeBox ul {
  margin-top: 10px;
}

.noticeBox ul li {
  margin-top: 5px;
}

.noticeBox a {
  color: #e15965 !important;
}

.noticeBox hr {
  margin: 20px 0;

  background-color: #e0b4b9;
}

@media screen and (max-width: 640px) {
  .noticeBox {
    padding: 20px;
    padding: 2.0rem;
  }
}


/* =========================================
Form
========================================= */
/* iOSでのデフォルトスタイルをリセット */
input[type='button'] {
  -webkit-box-sizing: content-box;
          box-sizing: border-box;

  cursor: pointer;

  border: none;
  border-radius: 0;

  -webkit-appearance: button;
}

input[type='button']:focus {
  outline-offset: -2px;
}

form fieldset {
  padding-left: 20px;

  border: none;
}

textarea,
input[type='text'],
input[type='search'],
input[type='tel'],
input[type='url'],
input[type='email'],
input[type='password'],
input[type='datetime'],
input[type='number'],
input[type='email'],
select {
  font-size: 14px;
  font-size: 1.4rem;

  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  margin: 5px 0;
  padding: 10px;

  border: solid 1px #cecece;
  -webkit-border-radius: 5px;
     -moz-border-radius: 5px;
          border-radius: 5px;
  -webkit-box-shadow: none;
     -moz-box-shadow: none;
          box-shadow: none;

      -ms-border-radius: 5px;
       -o-border-radius: 5px;
      -ms-box-shadow: none;
       -o-box-shadow: none;
      -ms-box-sizing: border-box;
       -o-box-sizing: border-box;
  -webkit-appearance: none;
}

select {
  line-height: 1.25;

  text-indent: 0;
  text-overflow: '';

  background-color: #fff;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cg%20transform%3D%22rotate%280%2C10%2C10%29%22%3E%3Cpolygon%20points%3D%2219.2%2C4.4%2016.5%2C4.4%2010%2C13.5%203.6%2C4.4%200.9%2C4.4%2010%2C17.3%22%20fill%3D%22%23999%22/%3E%3C/g%3E%3C/svg%3E');
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 12px;

  -webkit-appearance: none;
     -moz-appearance: none;
      -ms-appearance: none;
       -o-appearance: none;
          appearance: none;
}

input[type='radio'] {
  display: none;
}

input[type='radio'] + label {
  position: relative;

  display: inline-block;

  padding: 3px 3px 3px 24px;

  cursor: pointer;
}

input[type='radio'] + label.block {
  display: block;
}

input[type='radio'] + label:before,
input[type='radio'] + label:after {
  position: absolute;
  top: 50%;

  content: '';
  -webkit-transition: all .2s;
     -moz-transition: all .2s;
      -ms-transition: all .2s;
       -o-transition: all .2s;
          transition: all .2s;

  -webkit-border-radius: 100%;
     -moz-border-radius: 100%;
          border-radius: 100%;

      -ms-border-radius: 100%;
       -o-border-radius: 100%;
}

input[type='radio'] + label:before {
  left: 0;

  width: 14px;
  height: 14px;
  margin-top: -8px;

  border: 1px solid #ccc;
  background: #fdfdfd;
}

input[type='radio'] + label:after {
  left: 4px;

  width: 8px;
  height: 8px;
  margin-top: -4px;

  -webkit-transform: scale(2);
     -moz-transform: scale(2);
      -ms-transform: scale(2);
       -o-transform: scale(2);
          transform: scale(2);

  opacity: 0;
  background: #d01027;
}

input[type='radio']:checked + label:before {
  border: 1px solid #d01027;
  background: #fff;
}

input[type='radio']:checked + label:after {
  -webkit-transform: scale(1);
     -moz-transform: scale(1);
      -ms-transform: scale(1);
       -o-transform: scale(1);
          transform: scale(1);

  opacity: 1;
}

input#default_clinic_0 + label {
  padding: 0;
}

input#default_clinic_0 + label::before,
input#default_clinic_0 + label::after {
  display: none;
}

input[type='checkbox'] + label {
  position: relative;

  display: inline-block;

  padding: 3px 3px 3px 24px;

  cursor: pointer;
}

input[type='checkbox'] + label.block {
  display: block;
}

input[type='checkbox'] + label:before,
input[type='checkbox'] + label:after {
  position: absolute;
  top: 50%;

  content: '';
  -webkit-transition: all .2s;
     -moz-transition: all .2s;
      -ms-transition: all .2s;
       -o-transition: all .2s;
          transition: all .2s;
}

input[type='checkbox'] + label:before {
  left: 0;

  width: 14px;
  height: 14px;
  margin-top: -8px;

  border: 1px solid #ccc;
  background: #fdfdfd;
}

input[type='checkbox'] + label:after {
  left: 4px;

  width: 8px;
  height: 8px;
  margin-top: -4px;

  -webkit-transform: scale(2);
     -moz-transform: scale(2);
      -ms-transform: scale(2);
       -o-transform: scale(2);
          transform: scale(2);

  opacity: 0;
  background: #d01027;
}

input[type='checkbox']:checked + label:before {
  border: 1px solid #d01027;
  background: #fff;
}

input[type='checkbox']:checked + label:after {
  /*! -webkit-transform: scale(1); */
  /*! -moz-transform: scale(1); */
  /*! -ms-transform: scale(1); */
  /*! -o-transform: scale(1); */
  transform: scale(1);

  opacity: 1;
}

@media screen and (max-width: 640px) {
  form[action='/seminars/'] {
    text-align: center;
  }

  form[action='/seminars/'] select {
    width: 100%;
  }
}

.select_year {
  width: calc(100% - 2em);
  margin-right: .5em;
}

.checkbox {
  display: block;

  width: 130px;
  margin: 0 auto;
  padding: 10px;

  text-align: center;

  color: #fff;
  border-radius: 2px;
  background-color: #a1a1a1;
}

.checkbox .checkboxText {
  margin-left: 5px;
}

.radioArea {
  margin-top: 30px;

  text-align: center;
}

/* =========================================
contentsArea
========================================= */
.contentsArea {
  padding: 50px 60px;
}

@media (max-width: 640px) {
  .contentsArea {
    padding: 20px 10px;
  }
}

.contentsArea + .contentsArea {
  margin-top: 30px;
}

.contentsArea.contents-small {
  padding: 30px;
}

@media (max-width: 640px) {
  .contentsArea.contents-small {
    padding: 20px 10px;
  }
}

.contentsArea.bg-gray {
  background: #f7f7f7;
}

.contentsArea.button_contents,
.contentsArea.optional_contents {
  padding: 20px 60px;
}

.contentsArea.button_contents .btnArea {
  margin-top: 0;
}

.contentsArea.optional_contents .section_title {
  position: relative;

  cursor: pointer;
}

.contentsArea.optional_contents .section_title .arrow {
  position: absolute;
  top: 50%;
  right: -8px;

  display: block;

  width: 12px;
  height: 12px;

  transition: transform .7s;

  color: #3e3e3e;
  border-right: 1px solid;
  border-bottom: 1px solid;
}

.contentsArea.optional_contents .section_title .arrow.close {
  transform: rotate(45deg) translateX(-50%);
}

.contentsArea.optional_contents .section_title .arrow.open {
  transform: rotate(-135deg) translateX(-50%);
}

.contentsArea.optional_contents .section_title h3 {
  margin-bottom: 0;
}


/* =========================================
contentsArea Title
========================================= */
.contentsArea .contentsLabel {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;

  display: inline-block;

  margin-bottom: 10px;
  padding-bottom: 5px;

  border-bottom: 1px solid #d01027;
}

.contentsArea .contentsLabel + .required {
  font-size: 10px;

  margin-left: 10px;
  padding: 3px 6px;

  vertical-align: text-bottom;

  color: #fff;
  background: #d01027;
}

/* =========================================
button
========================================= */
.btnArea {
  margin-top: 30px;

  text-align: center;
}

@media (max-width: 640px) {
  .btnArea {
    margin-top: 15px;
  }
}

.button,
a.button {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 40px;

  position: relative;

  display: inline-block;

  -webkit-box-sizing: content-box;
          box-sizing: border-box;
  min-width: 200px;
  padding: 0 20px;

  cursor: pointer;
  text-align: center;

  border: none;
  -webkit-border-radius: 2px;
     -moz-border-radius: 2px;
          border-radius: 2px;

      -ms-border-radius: 2px;
       -o-border-radius: 2px;
}

@media (max-width: 640px) {
  .button,
  a.button {
    min-width: 100%;
  }
}

.button:focus,
a.button:focus {
  outline-offset: -2px;
}

.button.button-small,
a.button.button-small {
  line-height: 1;

  min-width: 4em;
  padding: 10px;
}

@media (max-width: 640px) {
  .button.button-small,
  a.button.button-small {
    min-width: 4em;
  }
}

.button.button-long,
a.button.button-long {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;

  min-width: 400px;
  padding: 5px;
}

@media (max-width: 640px) {
  .button.button-long,
  a.button.button-long {
    min-width: 100%;
  }
}

.button.button-right,
a.button.button-right {
  float: right;
}

.button.button-side,
a.button.button-side {
  margin-left: 10px;
}

@media (max-width: 640px) {
  .button.button-side,
  a.button.button-side {
    margin-top: 10px;
    margin-left: 0;
  }
}

.button.button-arrow:after,
a.button.button-arrow:after {
  position: absolute;
  top: 50%;
  right: 20px;

  display: block;

  width: 8px;
  height: 8px;
  margin-top: -4px;

  content: '';
  transform: rotate(45deg);

  border-top: 1px solid #333;
  border-right: 1px solid #333;
}

.button.button-red,
a.button.button-red {
  color: #fff;
  background: #d01027;
}

.button.button-red:hover,
a.button.button-red:hover {
  background: #b41124;
}

.button.button-arrow.button-red:after,
a.button.button-arrow.button-red:after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

.button.button-gray,
a.button.button-gray {
  color: #fff;
  background: #a1a1a1;
}

.button.button-arrow.button-gray:after,
a.button.button-arrow.button-gray:after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

.button.button-gray.button-outline,
a.button.button-gray.button-outline {
  color: #666;
  border: 1px solid #a1a1a1;
  background: inherit;
}

.button.button-arrow.button-gray.button-outline:after,
a.button.button-arrow.button-gray.button-outline:after {
  border-top: 1px solid #666;
  border-right: 1px solid #666;
}

/* =========================================
パンくず
========================================= */
.p_navi {
  width: 1100px;
  margin: 0 auto;
  padding: 20px 0 0 0;
}

.p_navi a {
  text-decoration: underline;
}

.p_navi_border {
  border-bottom: 3px solid #bfbfbf;
}

span.p_navi_home {
  position: relative;
}

span.p_navi_arrow {
  margin: 0 8px;
}

span.p_navi_current {
  color: #c03;
}

/* =========================================
コンテンツ
========================================= */
.contents {
  width: 1100px;
  margin: 0 auto;
  padding: 0 0 50px 0;
}

.contents_m {
  width: 1100px;
  margin: 0 auto;
  padding: 40px 0 40px 0;
}

.contents_slm {
  width: 750px;
  margin: 0 auto;
  padding: 50px 0 50px 0;
}

/* =========================================
ナビゲーション（削除予定）
========================================= */
.info_navi_top li {
  padding: 5px 10px 5px 10px;
}

.info_navi_top li:nth-child(1) {
  border-top: none;
}

.info_navi_top li p {
  float: left;

  width: 100px;
}

.info_navi_top li h5 {
  float: right;

  width: 940px;
}

.info_navi_top li h5 a {
  color: #666;
}

/* =========================================
テーブル
========================================= */
table {
  border-spacing: 0;
  border-collapse: collapse;
}

tr {
  border-spacing: 0;
}

td {
  border-spacing: 0;
}

th {
  font-weight: normal;

  border-spacing: 0;
}

th {
  font-weight: normal;

  border-spacing: 0;
}

/* =========================================
テキスト
========================================= */
.text10 {
  font-size: 77%;
}

.text12 {
  font-size: 12px;
}

.text16 {
  font-size: 123.1%;
}

.text17 {
  font-size: 131%;
}

/* =========================================
テキストカラー
========================================= */
.text_white {
  color: #fff;
}

.text_white a {
  color: #fff;
}

.text_red {
  color: #c03;
}

.text_red a {
  color: #c03;
}

/* =========================================
背景カラー
========================================= */
.bg_white {
  background: #fff;
}

.bg_black {
  background: #222;
}

.bg_gray {
  background: #f2f2f2;
}

/* =========================================
テキスト寄せ
========================================= */
.text_center {
  width: 100%;

  text-align: center;
}

.text_right {
  width: 100%;

  text-align: right;
}

/* =========================================
アイコン
========================================= */
.icon {
  width: 15px;
  height: 15px;
  margin-left: 3px;

  vertical-align: baseline;

  object-fit: contain;
}

.icon_social {
  width: 28px;
  height: 28px;

  vertical-align: text-top;

  object-fit: contain;
}

/* =========================================
画像
========================================= */
img {
  width: auto \9; /* ie8 */
  max-width: 100%;
  height: auto;
}

/* =========================================
フッター
========================================= */
#copyright {
  font-size: 1.5rem;
  font-size: 15px;

  padding: 40px 0 25px 0;

  text-align: center;

  color: #e9e9e9;
}

.footer_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;

  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 40px 50px;
}

.footer_nav_link {
  display: inline-block;

  margin-top: 20px;
  padding: 16px;

  list-style: none;

  vertical-align: top;

  border-left: solid 1px rgb(120, 120, 120);
}

.footer_nav_link:first-child {
  border-left: solid 1px rgb(120, 120, 120);
}

.footer_nav_link:last-child {
  border-right: none;
}

.footer_nav_link li a {
  font-size: 14px;
  line-height: 1.9;

  text-decoration: none;

  color: #e9e9e9;
}

footer {
  background-color: rgb(60, 60, 60);
}

/* =========================================
clearfix
========================================= */
/* for modern brouser */
.clearfix:after {
  font-size: 0;

  display: block;
  visibility: hidden;
  clear: both;

  height: 0;

  content: '.';
}

/* IE7,MacIE5 */
.clearfix {
  display: inline-block;
}

/* WinIE6 below, Exclude MacIE5 \*/
* html .clearfix {
  height: 1%;
}

.clearfix {
  display: block;
}

/* =========================================
totop
========================================= */
#totop {
  position: fixed;
  right: 2%;
  bottom: 20px;

  width: 58px;
  height: 58px;

  cursor: pointer;
  text-align: center;

  border: solid 1px #d72100;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 1);
}

span.totop_botton_arrow {
  position: relative;
  top: 45%;
  left: 35%;

  display: block;

  width: 15px;
  height: 15px;

  transform: rotate(-135deg);

  color: #d72100;
  border-right: 2px solid;
  border-bottom: 2px solid;
}

/* =========================================
style.css 上書き用
========================================= */
dl.submenu-01 {
  height: inherit;

  border-left: #eee solid 1px;
}

.contents.g_margin {
  margin-top: 45px;
}

.footer_wrap ul.footer_nav_link li::before,
.info_navi_top > ul > li::before,
.clearfix li.clearfix::before {
  content: none;
}

.footer_wrap ul.footer_nav_link li,
.info_navi_top > ul > li,
.clearfix li.clearfix {
  padding-left: 0;
}

.footer_wrap ul.footer_nav_link li,
.info_navi_top > ul > li > h5 {
  margin-bottom: 0;
}

/* =========================================
セミナー登録注意文
========================================= */
/*セミナー登録注意文*/
.contents_m.seminar_notice_area {
  padding: 0;
}

/* =========================================
印刷用
========================================= */
@media print {
  body {
    display: block;

    width: 21cm !important;
    min-width: 21cm !important;
    height: 29.7cm !important;

    border-left: none;
  }

  .contents_m.clearfix {
    page-break-after: always;
  }

  .contents {
    padding: 0;
  }

  .contents_m {
    width: 100%;
    padding: 0;
  }

  .date {
    color: #333 !important;
    background: none !important;
  }

  .date {
    font-size: 12pt;

    padding-top: 0 !important;
    padding-left: 0 !important;
  }

  #totop,
  .print_bt,
  .seminar_label_img,
  img.rollover,
  footer,
  form[action='/seminars/'],
  .p_navi,
  .hd_banner_wrap,
  ul#g_navi_sp,
  header {
    display: none !important;
  }
}

/* =========================================
201908 renew header and top page
========================================= */
.btn {
  position: relative;

  box-sizing: border-box;
  padding: 2px 36px 2px 18px;

  border-radius: 4px;
}

.r_arrow {
  position: absolute;
  top: calc(50% - .1rem);
  right: 0;

  display: inline-block;

  width: .7rem;
  height: .7rem;

  content: '';
  transition: .3s;
  transform: rotate(-45deg) translateY(-50%);

  border-right: 1px solid;
  border-bottom: 1px solid;
}

.js-d-none {
  display: none;
}

.relative {
  position: relative;
}

.color_darker_red {
  color: #8c060e !important;
}

.border_b_darker_red {
  border-bottom: solid 1px #8c060e;
}


.bg_alabaster {
  background-color: #f2efe4;
}

.m_auto {
  margin: auto;
}

.ml_auto {
  margin-left: auto;
}

.mr_auto {
  margin-right: auto;
}

.flex {
  display: flex;
}

.flex_inline {
  display: inline-flex;
}

.flex_wrap {
  flex-wrap: wrap;
}

.flex_column {
  flex-direction: column;
}

.align_items_center {
  align-items: center;
}

.align_items_end {
  align-items: flex-end;
}

section.p_disable {
  padding: 0;
}

hr.line {
  display: block;

  width: 100%;
  margin-top: 30px;
  margin-bottom: 30px;

  border-bottom: solid 1px #707070;
}

/* header */
.fixed_header .header_inner {
  max-width: 1200px;
  margin: auto;
}

.fixed_header.fixed_top {
  position: fixed;
  z-index: 1010;
  top: 0;
  left: 0;

  box-sizing: border-box;
  width: 100vw;
  padding: 12px;
}

.header_logo .logo {
  width: 215px;
  height: auto;

  transition: .3s;
}

.dna_logo {
  width: 90px;
  height: auto;
}

/* .fixed_header .header_right .upper_row */
.is_home .top_message {
  position: absolute;
  top: 50%;
  left: 50%;

  transform: translate(-50%, -50%);
}

.is_home .top_message .line {
  margin-top: 0;
}

.is_home .top_message_sp h1,
.is_home .top_message h1 {
  font-size: 45px;

  margin: auto;
  padding: auto;
}

.is_home .top_message_sp h2,
.is_home .top_message h2 {
  font-size: 30px;
  font-weight: normal;

  margin: auto;
  padding: auto;

  color: #333;
}

.is_home .top_message_sp h2:after,
.is_home .top_message h2:after {
  content: none;
}

.fixed_header .header_right .upper_row {
  margin-bottom: 15px;
}

.fixed_header .header_right .upper_row .margin_rl {
  margin-right: 10px;
  margin-left: 10px;
}

.fixed_header .header_right .upper_row .text_link {
  position: relative;

  box-sizing: border-box;
  padding-right: .4em;
  padding-left: .4em;
}

.fixed_header .header_right .upper_row .contact_num:nth-child(1) {
  margin-right: 20px;
}

.fixed_header .header_right .upper_row .contact_num_icon {
  margin-right: 8px;
}

.contact_num_mobile,
.contact_num_tel {
  font-size: 12px;
  font-weight: bold;
}

.fixed_header .header_right .upper_row .text_link .text {
  padding-right: .7em;
}

.fixed_header .header_right .upper_row .text_link .r_arrow {
  right: 0;
}

.header_right .search_icon {
  position: relative;
  z-index: 5;

  margin-right: 25px;
  margin-left: 14px;

  cursor: pointer;
}

.header_right .header_search_wrap {
  position: relative;
}

.header_right .header_search_wrap .header_search_inner {
  position: absolute;
  right: 100%;
  bottom: -5px;
}

.header_right .header_search_wrap .header_search_inner .srchInput {
  position: relative;
  top: -5px;
  right: -35px;

  box-sizing: border-box;
  width: 31em;
  height: 36px;
  margin: 0;
  padding: 4px 95px 4px 4px;

  border-color: #8c060e;
}

.header_right .header_search_wrap .header_search_inner .search_cnt {
  padding: inherit;

  background-color: inherit;
}

.header_right .header_search_wrap .header_search_inner .srchBtn {
  font-weight: bold;
  line-height: 29px;

  position: absolute;
  top: -1px;
  right: -5px;

  min-width: inherit;
  padding: 0 10px;

  border: none;
  background-color: #8c060e;
}

.bluebody .header_right .header_search_wrap .header_search_inner .srchInput {
  height: 30px;

  border-color: #588cb9;
}

.bluebody .header_right .header_search_wrap .header_search_inner .srchBtn {
  font-size: 14px;
  font-weight: normal;
  line-height: 22px;

  color: #fff;
  background-color: #588cb9;
}

@media screen and (max-width: 767px) {
  .bluebody .header_right .header_search_wrap .header_search_inner .srchInput {
    right: 0;

    width: 100%;
    height: 40px;
    padding-right: 76px;
  }

  .bluebody .header_right .header_search_wrap .header_search_inner .srchBtn {
    top: 1px;
    right: 16px;

    padding: 3px 8px;
  }
}

.bluebody .header_right .search_icon {
  margin-left: 20px;
}

.bluebody .header_right .header_search_wrap {
  top: 3px;
}

/* .fixed_header .header_right .lower_row */
.fixed_header .header_right .lower_row .link_area {
  padding: .2em 25px .4em;

  border-right: solid 1px #333;
}

.fixed_header .header_right .lower_row .link_area a > span:nth-child(1) {
  margin-bottom: 4px;
}

.fixed_header .header_right .lower_row .link_area:nth-last-child(1) {
  border-right: none;
}

/* [G-NAVI] */
.gnavi_sub_wrap {
  position: absolute;
  top: 100%;
  right: 50%;

  box-sizing: border-box;
  width: 1015px;
  padding: 16px;

  transform: translateX(50%);

  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}

.gnavi_sub_heading {
  margin-bottom: .6em;
}

.gnavi_sub_cat {
  box-sizing: border-box;
  width: 23%;
  margin-right: auto;
  padding: 0 2%;
}

.gnavi_sub_cat > li {
  padding-top: 1em;
  padding-bottom: 1em;
}

.gnavi_sub_cat > .gnavi_sub_cat_heading {
  margin-bottom: .4em;
  padding-top: 10px;
  padding-bottom: 10px;

  border-bottom: solid 1px #c1bfb8;
}

.gnavi_sub_cat_row {
  width: 100%;
}

.gnavi_sub_cat_row_lists {
  margin-top: 10px;
  margin-bottom: 10px;
}

.gnavi_sub_cat_row_lists > li {
  display: inline-block;

  box-sizing: border-box;
  width: 25%;
  padding: .5em;
}

.gnavi_sub_cat_row_lists > li > a {
  display: inline-block;

  box-sizing: border-box;
  padding: .5em;
}

.header_menu_icon {
  position: relative;
  top: 4px;

  width: auto;
  height: 40px;

  cursor: pointer;
}

.header_menu_icon .drawer_bar::before {
  position: absolute;
  left: 8px;

  width: 23px;
  height: 2px;

  content: '';
  transition: .4s;

  background-color: #8c060e;
}

.header_menu_icon .drawer_bar1::before {
  transform: translate(0px, 0px) rotate(0deg);
}

.header_menu_icon .drawer_bar2::before {
  transform: translate(0px, 7px) rotate(0deg);
}

.header_menu_icon .drawer_bar3::before {
  transform: translate(0px, 14px) rotate(0deg);
}

.header_menu_icon .drawer_text {
  font-size: 14px;

  position: relative;
  bottom: -23px;
  left: -1px;

  transition: .3s;

  color: #8c060e;
}

.header_menu_icon.active .drawer_bar1::before {
  transform: translate(0px, 7px) rotate(-45deg);
}

.header_menu_icon.active .drawer_bar2::before {
  transform: translate(0px, 7px) rotate(-45deg);

  opacity: 0;
}

.header_menu_icon.active .drawer_bar3::before {
  transform: translate(0px, 7.5px) rotate(-135deg);
}

.header_menu_icon.active .drawer_text {
  opacity: 0;
}

/* G NAVI SP*/
.fixed_header .g_navi_menu_sp {
  position: absolute;
  top: -100vh;
  left: 0;

  display: block;
  overflow-y: scroll;

  width: 80vw;
  max-height: 83.6vh;
  margin-top: 0;

  transition: .4s;
}

.fixed_header .g_navi_menu_sp ul li {
  border-bottom: none;
  background-color: #f2efe4;
}

.fixed_header .g_navi_menu_sp dt,
.fixed_header .g_navi_menu_sp dd a,
.fixed_header .g_navi_menu_sp .submenu_sp ul li {
  background-color: #fff !important;
}

.fixed_header .g_navi_menu_sp ul li a {
  font-weight: inherit;

  margin-right: 4.75vw;
  margin-left: 4.75vw;

  text-align: left;

  background-color: inherit;
}

.fixed_header .g_navi_menu_sp > ul > li > a {
  position: relative;

  border-bottom: 1px dashed #6d6d6d;
}

.fixed_header .g_navi_menu_sp > ul > li.sub_active > a {
  border-bottom: none;
}


.fixed_header .submenu_sp dd ul li:after {
  content: none;
}

.fixed_header .g_navi_menu_sp ul li div a {
  padding-left: inherit;
}

.fixed_header .submenu_sp dt {
  font-size: 20px;
  font-weight: normal;
  line-height: 60px;

  width: calc(100% - 9vw);
  min-height: 60px;
  margin: auto;

  border-bottom: 1px dashed #6d6d6d;
  background-color: inherit;
}

.g_navi_menu_sp ul li a {
  font-size: 20px;
  font-weight: bold;
  line-height: 60px;

  display: block;

  min-height: 60px;

  text-decoration: none;

  color: #333;
  background-color: #f7f7f7;
}

.submenu_sp {
  position: relative;
  top: 0;

  box-sizing: border-box;
  width: 93%;
  margin: 0 auto;

  border: solid 1px #e0e0e0;
}

.fixed_header .sub_arrow::before {
  position: absolute;
  top: 50%;
  right: 1em;

  display: inline-block;

  width: .7rem;
  height: .7rem;
  margin-right: 0;

  content: '';
  transition: .3s;
  transform: rotate(45deg) translate(-50%, -50%);

  color: #8c060e;
  border-right: 1px solid;
  border-bottom: 1px solid;
}

.fixed_header .sub_s.sub_active .sub_arrow::before {
  transform: rotate(-45deg);
}

.close_btn_red {
  position: relative;

  display: inline-block;

  width: 24px;
  height: 24px;

  cursor: pointer;
}

.close_btn_red::before,
.close_btn_red::after {
  position: absolute;
  bottom: 0;
  left: 0;

  width: 21px;
  height: 2px;
  margin-bottom: 11px;

  content: '';

  background-color: #8c060e;
}

.close_btn_red::before {
  transform: rotate(45deg);
}

.close_btn_red::after {
  transform: rotate(135deg);
}

.g_navi_menu_sp .close_btn_red {
  margin-top: 14px;
  margin-right: 20px;
}

.fixed_header .sub_arrow::before {
  position: absolute;
  top: 50%;
  right: 1em;

  display: inline-block;

  width: .7rem;
  height: .7rem;

  content: '';
  transition: .3s;
  transform: rotate(45deg) translate(-50%, -50%);

  color: #8c060e;
  border-right: 1px solid;
  border-bottom: 1px solid;
}

.fixed_header .sub_s.sub_active .sub_arrow::before {
  transform: rotate(-45deg);
}

.close_btn_red {
  position: relative;

  display: inline-block;

  width: 24px;
  height: 24px;

  cursor: pointer;
}

.close_btn_red::before,
.close_btn_red::after {
  position: absolute;
  bottom: 0;
  left: 0;

  width: 21px;
  height: 2px;
  margin-bottom: 11px;

  content: '';

  background-color: #8c060e;
}

.close_btn_red::before {
  transform: rotate(45deg);
}

.close_btn_red::after {
  transform: rotate(135deg);
}

.g_navi_menu_sp .close_btn_red {
  margin-top: 14px;
  margin-right: 20px;
}

@media screen and ( min-width: 1085px ) {
  .header_menu_icon {
    display: none !important;
  }
}

@media screen and ( max-width: 1085px ) {
  .responsive_s.header_fixed {
    display: block;
  }

  .gnavi_sub_wrap {
    display: none !important;
  }

  .header_left {
    width: 100%;
  }

  .header_menu_icon {
    display: inline-block !important;
  }

  .header_menu_icon {
    display: inline-block !important;
  }

  .g_navi_menu_sp ul li a.contact_num {
    display: flex;
  }

  .g_navi_menu_sp ul li a.contact_num .contact_num_icon {
    align-self: center;
  }

  .g_navi_menu_sp ul li a.contact_num .contact_num_mobile {
    font-size: 14px;

    margin-left: .4em;
  }
}

@media screen and ( max-width: 767px ) {
  .header_right {
    display: none;
  }

  .bluebody .header_right {
    display: block;
  }

  .bluebody .header_right .search_icon {
    visibility: hidden;
  }

  .bluebody .header_right .header_search_inner {
    position: relative;
    right: auto;
    bottom: auto;
    left: 0;

    display: block !important;
  }
}

.seminars-input-error-area {
  margin: 0 30px 30px 30px;
  padding: 20px 40px;

  color: #d72100;
  border: 1px solid #d72100;
  border-radius: 5px;
  background: #f8e5e8;
}

.seminars-input-error-area h5 {
  font-size: 16px;

  color: #d01027;
}

.seminars-input-error-area ul {
  margin: 10px 0 0;
}

.seminars-input-error-area li {
  position: relative;

  margin-bottom: 5px;
  padding-left: 1.1em;
}

.seminars-input-error-area li::before {
  position: absolute;
  top: .4em;
  left: 0;

  display: block;

  width: 8px;
  height: 8px;

  content: '';

  border-radius: 100%;
  background-color: #d01027;
}

@media screen and (max-width: 767px) {
  body.is_header_fixed {
    padding-top: 54px;
  }
}
