@charset "UTF-8";
/* ============================================================ base */
html { font-size: 62.5%; height: 100%; min-width: 1024px; }

@media screen and (max-width: 640px) { html { min-width: 0; } }

body { background: #fff; color: #000; font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", verdana, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif; font-size: 1.4em; line-height: 1.7; -webkit-text-size-adjust: 100%; -moz-text-size-adjust: 100%; -ms-text-size-adjust: 100%; text-size-adjust: 100%; }

@media screen and (max-width: 640px) { body { font-size: 1.2em; line-height: 1.7; } }

main { display: block; }

a { -webkit-transition: all 0.4s ease-out; transition: all 0.4s ease-out; }

a img { -webkit-transition: all 0.3s ease-out; transition: all 0.3s ease-out; -webkit-backface-visibility: hidden; backface-visibility: hidden; }

a:link { color: #0056ad; text-decoration: none; }

a:visited { color: #0056ad; }

a:hover, a:active { color: #0056ad; text-decoration: underline; }

a:hover img { opacity: 0.7; }

img { height: auto; max-width: 100%; vertical-align: bottom; }

a img, a:link img, a:visited img, a:hover img, a:active img { text-decoration: none; }

h1, h2, h3, h4, h5, h6 { line-height: 1.4; }

h1, h2, h3, h4, h5, h6, strong, em, b { font-weight: bold; }

/* ============================================================ main */
/* ============================================================ base section */
.l-baseSection { max-width: 960px; margin: 0 auto; }

.l-baseSection__inner { padding-top: 20px; }

.l-baseSection__inner > *:first-child { margin-top: 0; }

@media screen and (max-width: 640px) { .l-baseSection { padding-left: 20px; padding-right: 20px; } }

.globalHeader { padding-top: 30px; padding-bottom: 30px; background: url(../img/bg_header.png) center 0 repeat-x; }

.globalHeader__inner { max-width: 960px; margin-left: auto; margin-right: auto; text-align: center; }

.globalHeader__subhead { font-size: 14px; font-weight: bold; margin-top: 6px; }

.globalHeader__subhead > p { line-height: 1.2; }

.globalHeader__subhead > p > a { text-decoration: none; color: #000; }

.globalHeader__subhead > p [lang='en'] { margin-left: 8px; font-family: 'Helvetica', 'Arial', Sans-Serif; letter-spacing: 1px; font-weight: normal; }

@media screen and (max-width: 640px) { .globalHeader { padding: 10px 20px 8px; background-image: url(../img/sp_bg_header.png); background-size: contain; background-position: center bottom; }
  .globalHeader__subhead { font-size: 12px; margin-top: 10px; }
  .globalHeader__subhead > p { line-height: 1.4; }
  .globalHeader__subhead > p [lang='en'] { display: block; letter-spacing: 0.07em; margin-left: 0; }
  .globalHeader__title { padding-left: 0; }
  .globalHeader__title img { max-width: 100%; } }

.globalFooter { margin-top: 60px; }

.globalFooter__inner { text-align: center; }

.globalFooter__copyright { margin-top: 25px; background-color: #dedede; }

.globalFooter__copyrightInner { max-width: 960px; margin-left: auto; margin-right: auto; padding-top: 30px; padding-bottom: 30px; }

.globalFooter .sitetop { max-width: 960px; margin-left: auto; margin-right: auto; text-align: left; margin-bottom: 25px; }

.globalFooter .sitetop::before { content: '>'; display: inline-block; position: relative; top: -2px; vertical-align: middle; margin-right: 8px; }

@media screen and (max-width: 640px) { .globalFooter { margin-top: 65px; }
  .globalFooter__copyright { margin-top: 20px; font-size: 10px; }
  .globalFooter__copyrightInner { padding-top: 15px; padding-bottom: 15px; }
  .globalFooter .sitetop { padding-left: 20px; padding-right: 20px; margin-bottom: 20px; }
  .globalFooter .sitetop::before { margin-right: 4px; } }

/* ============================================================ breadcrumbs */
.c-breadcrumbs__inner { max-width: 960px; margin-left: auto; margin-right: auto; }

.c-breadcrumbs__list { letter-spacing: -0.4em; position: relative; padding-left: 40px; }

.c-breadcrumbs__list::before { content: ''; display: block; position: absolute; margin: auto; bottom: 0; top: 0; left: 0; width: 25px; height: 25px; background: url(../img/icon_soccerball.png) 0 0 no-repeat; background-size: contain; }

.c-breadcrumbs__listItem { padding-top: 8px; padding-bottom: 8px; display: inline-block; letter-spacing: normal; position: relative; }

.c-breadcrumbs__listItem a { color: #000; }

.c-breadcrumbs__listItem::before { content: ''; display: block; position: absolute; margin: auto; bottom: 0; top: 0; left: 0; }

.c-breadcrumbs__listItem + .c-breadcrumbs__listItem { padding-left: 18px; margin-left: 8px; }

.c-breadcrumbs__listItem + .c-breadcrumbs__listItem::before { width: 1em; height: 1em; top: -1px; content: '＞'; line-height: 1; }

@media screen and (max-width: 640px) { .c-breadcrumbs__inner { padding-left: 20px; padding-right: 20px; }
  .c-breadcrumbs__list { padding: 5px 0 5px 30px; }
  .c-breadcrumbs__list::before { top: 5px; bottom: auto; width: 22px; height: 22px; }
  .c-breadcrumbs__listItem { display: inline; padding-top: 5px; padding-bottom: 5px; }
  .c-breadcrumbs__listItem + .c-breadcrumbs__listItem { padding-left: 16px; margin-left: 4px; }
  .c-breadcrumbs__listItem + .c-breadcrumbs__listItem::before { top: -1.5em; } }

.pagetop { font-size: 13px; line-height: 1.231; }

.pagetop__btn { display: inline-block; padding: 45px 0 0; background: url(../../../img/share/btn_pagetop.png) no-repeat center top; background-size: 38px auto; }

.pagetop__btn:link, .pagetop__btn:visited { color: #000; }

@media screen and (max-width: 640px) { .pagetop__btn { padding-top: 40px; background-size: 33px auto; } }

/* ============================================================ btn */
.c-btn__act { font-size: 14px; display: inline-block; text-align: center; padding: 10px; -webkit-box-sizing: border-box; box-sizing: border-box; font-weight: bold; position: relative; border: 1px solid transparent; }

.c-btn__act span { display: block; font-size: 12px; }

.c-btn__act:hover { text-decoration: none; }

.c-btn.is-disable .c-btn__act { pointer-events: none; color: #727272; opacity: 0.6; }

.c-btn--transparent .c-btn__act { background-color: transparent; border: 1px solid #9f9f9f; color: #000; border-radius: 5px; }

.c-btn--gray { text-align: center; }

.c-btn--gray .c-btn__act { background-color: #f7f7f7; border: 1px solid #dddddd; color: #000; border-radius: 5px; min-width: 400px; }

.c-btn--gray .c-btn__act:hover { text-decoration: none; background-color: #ccc; }

.c-btn--apply { text-align: center; }

.c-btn--apply .c-btn__act { background-color: #ff6ca4; border: 1px solid #d14a7d; border-top: none; color: #fff; border-radius: 7px; min-width: 400px; font-size: 18px; line-height: 1.4; -webkit-box-shadow: 0 2px 8px rgba(43, 43, 43, 0.6); box-shadow: 0 2px 8px rgba(43, 43, 43, 0.6); }

.c-btn--apply .c-btn__act:hover { text-decoration: none; background-color: #ff5394; }

@media screen and (max-width: 640px) { .c-btn { margin-top: 25px; }
  .c-btn__act { padding-left: 25px; padding-right: 25px; }
  .c-btn__act span { font-size: 10px; }
  .c-btn--gray .c-btn__act { min-width: 0; width: 100%; }
  .c-btn--apply .c-btn__act { min-width: 0; width: 100%; font-size: 16px; line-height: 1.2; }
  .c-btn--apply .c-btn__act:hover { background-color: #ff6ca4; } }

/* ============================================================ section */
.c-section h2, section h2 { margin: 0 0 20px; padding: 7px 20px; background: #f9f9f9; border: 1px solid #c9c9c9; border-top: 3px solid #c53c43; font-size: 16px; font-weight: normal; }

.c-section h3, section h3 { margin: 0 0 15px; padding: 7px 20px; background-image: -webkit-gradient(linear, left bottom, left top, from(#c33b45), to(#c33b45)); background-image: linear-gradient(to top, #c33b45, #c33b45); background-size: 3px calc(100% - 6px); background-repeat: no-repeat; background-position: 0 center; border-bottom: 1px solid #c9c9c9; font-size: 16px; }

.c-section h2 + *, .c-section h3 + *, section h2 + *, section h3 + * { margin-top: 0 !important; }

@media screen and (max-width: 640px) { .c-section:not(:first-child), section:not(:first-child) { margin-top: 40px; }
  .c-section h2, section h2 { margin: 0 -20px 12px; padding: 6px 20px 5px; border-left: 0; border-right: 0; border-top-width: 5px; }
  .c-section h3, section h3 { margin: 0 0 8px; padding: 5px 10px; font-size: 13px; } }
  .c-section ul { list-style-type: disc; }
  .c-section li { margin-top: 20px; }

/* ============================================================ clinic */
.c-clinic { margin-bottom: 60px; }

.c-clinic table { width: 100%; table-layout: fixed; }

.c-clinic table colgroup col:nth-child(1) { width: 47%; }

@media screen and (min-width: 641px) { .c-clinic table colgroup col:nth-child(2) { width: 25%; } }

.c-clinic table thead th, .c-clinic table thead td, .c-clinic table tbody th, .c-clinic table tbody td { vertical-align: middle; }

.c-clinic table thead th { padding: 10px; background: #e3e2f3; border-top: 1px solid #c9c9c9; border-bottom: 1px solid #c9c9c9; text-align: center; font-size: 12px; }

.c-clinic table tbody td { padding-top: 20px; padding-bottom: 20px; border-bottom: 1px solid #c9c9c9; }

.c-clinic table .title { padding-left: 20px; padding-right: 20px; position: relative; }

.c-clinic table .title a { color: #000; }

.c-clinic table .title .recruiting { position: absolute; top: 0; left: 0; text-indent: -9999px; white-space: nowrap; overflow: hidden; width: 100px; height: 50px; background: url(../img/img_ribbon_recruiting02.png) 0 0 no-repeat; }

.c-clinic table .date, .c-clinic table .outline, .c-clinic table .report { padding-left: 10px; padding-right: 10px; text-align: center; }

.c-clinic table .outline a, .c-clinic table .report a { display: block; background-color: #f7f7f7; border: 1px solid #ddd; text-align: center; max-width: 90px; margin-left: auto; margin-right: auto; border-radius: 5px; line-height: 1; padding: 10px; -webkit-box-sizing: border-box; box-sizing: border-box; color: #000; }

.c-clinic table .outline a:hover, .c-clinic table .report a:hover { text-decoration: none; background-color: #ccc; }

@media screen and (max-width: 640px) { .c-clinic { margin-bottom: 50px; }
  .c-clinic table { table-layout: auto; }
  .c-clinic table thead { display: none; }
  .c-clinic table tbody tr { display: block; border: 1px solid #c9c9c9; -webkit-box-sizing: border-box; box-sizing: border-box; padding: 15px 10px; letter-spacing: -0.4em; clear: both; }
  .c-clinic table tbody tr + tr { margin-top: 12px; }
  .c-clinic table tbody td { padding-top: 15px; padding-bottom: 15px; letter-spacing: normal; }
  .c-clinic table .title, .c-clinic table .date { width: auto; display: inline; padding: 0; border-bottom: none; }
  .c-clinic table .date, .c-clinic table .outline, .c-clinic table .report { padding: 0; }
  .c-clinic table .title { position: static; }
  .c-clinic table .title .recruiting { margin: -16px -11px 12px; padding: 6px 0; line-height: 1; text-align: center; letter-spacing: 0.1em; color: #fff; background: #ff6ca4; position: static; top: auto; left: auto; text-indent: 0; white-space: normal; overflow: visible; width: auto; height: auto; }
  .c-clinic table .date { padding-left: 25px; }
  .c-clinic table .date::after { content: '\A'; white-space: pre; }
  .c-clinic table .outline, .c-clinic table .report { margin-top: 15px; display: inline-block; width: 50%; border-bottom: none; }
  .c-clinic table .outline a:hover, .c-clinic table .report a:hover { background-color: #f7f7f7; } }

/* ============================================================ banner */
.areaBanner { margin-top: 60px; }

.areaBanner__title { font-weight: bold; margin-bottom: 20px; }

.areaBanner__list { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-bottom: 30px; }

.areaBanner__listItem { max-width: 300px; margin-right: 20px; }

.areaBanner__listItem img { width: 100%; }

.areaBanner__listItem:not(3n) { margin-right: 0; }

.areaBanner__listItem:nth-child(n + 4) { margin-top: 20px; }

.areaBanner__listItem dl dd { margin-top: 3px; text-align: center; }

@media screen and (max-width: 640px) { .areaBanner__title { margin-bottom: 15px; }
  .areaBanner__listItem { max-width: 100%; margin-right: 0; margin-top: 10px; }
  .areaBanner__listItem:nth-child(n + 4) { margin-top: 10px; }
  .areaBanner__listItem dl dd { margin-top: 3px; font-size: 11px; } }

/* ============================================================ content */
.c-content__headerTitle { font-size: 26px; font-weight: bold; }

.c-content__headerLead { margin-top: 30px; padding-left: 30px; padding-right: 30px; }

.c-content__headerDate { font-size: 11px; margin-top: 10px; }

.c-content__body { margin-top: 60px; padding-left: 30px; padding-right: 30px; }

.c-content__body > * { margin-top: 30px; }

.c-content__body > .c-section { margin-top: 60px; }

.c-content__body > h1 { margin-bottom: 15px; margin-left: -30px; margin-right: -30px; padding: 7px 20px; background-image: -webkit-gradient(linear, left bottom, left top, from(#c33b45), to(#c33b45)); background-image: linear-gradient(to top, #c33b45, #c33b45); background-size: 3px calc(100% - 6px); background-repeat: no-repeat; background-position: 0 center; border-bottom: 1px solid #c9c9c9; font-size: 16px; }

.c-content__body > h1 + * { margin-top: 0; }

.c-content__body .c-section__inner h3, .c-content__body .c-section__inner h4, .c-content__body .c-section__inner h5, .c-content__body .c-section__inner h6 { margin-left: -30px; margin-right: -30px; }

.c-content__body .c-section__inner > * + * { margin-top: 30px; }

.c-content__body *.is-expand { margin-left: -30px; margin-right: -30px; }

.c-content__footer { margin-top: 60px; }

.c-content--report .c-content__body { margin-top: 30px; }

.c-content--report section .c-btn { margin-top: 60px; }

.c-content--detail .c-content__body { margin-top: 30px; }

.c-content--detail section .c-btn { margin-top: 60px; }

@media screen and (max-width: 640px) { .c-content__headerTitle { font-size: 16px; line-height: 1.5; }
  .c-content__headerLead { margin-top: 20px; padding-left: 10px; padding-right: 10px; }
  .c-content__body { margin-top: 20px; padding-left: 10px; padding-right: 10px; }
  .c-content__body > * { margin-top: 20px; }
  .c-content__body > .c-section { margin-top: 50px; }
  .c-content__body .c-section__inner h3, .c-content__body .c-section__inner h4, .c-content__body .c-section__inner h5, .c-content__body .c-section__inner h6 { margin-left: -10px; margin-right: -10px; }
  .c-content__body *.is-expand { margin-left: -10px; margin-right: -10px; }
  .c-content__footer { margin-top: 50px; }
  .c-content--report .c-content__body { margin-top: 20px; }
  .c-content--report section .c-btn { margin: 50px -10px 0; }
  .c-content--detail .c-btn { margin: 30px -10px 0; }
  .c-content--detail section .c-btn { margin-top: 50px; } }

/* ============================================================ areaSns */
.areaSns { margin-top: 20px; }

.areaSns__title { font-size: 11px; }

.areaSns__body { margin-top: 10px; }

.areaSns__list::after { clear: both; content: ""; display: block; }

.areaSns__listItem { float: left; }

.areaSns__listItem img { width: 35px; }

.areaSns__listItem + .areaSns__listItem { margin-left: 10px; }

.areaSns__listItem--line { display: none; }

@media screen and (max-width: 640px) { .areaSns__listItem--line { display: block; } }

/* ============================================================ media */
.c-media:not(:first-child) { margin-top: 50px; }

.mainvisual { margin-bottom: 60px; }

.l-baseSection__inner > .mainvisual { margin-top: -20px; }

.mainvisual__item { display: -webkit-box; display: -ms-flexbox; display: flex; position: relative; background-color: #fff1ec; }

.mainvisual__item:link, .mainvisual__item:visited { color: #000; }

.mainvisual__item:hover { text-decoration: none; }

.mainvisual__itemText { width: 350px; padding: 106px 30px 0; -webkit-box-sizing: border-box; box-sizing: border-box; font-size: 24px; line-height: 1.8; }

.mainvisual__itemImage { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; background-color: #fff; }

.mainvisual__subhead { position: absolute; left: 0; top: 0; width: 338px; height: 106px; background: url(../img/img_ribbon_recruiting01.png) 0 0 no-repeat; background-size: contain; text-indent: 100%; white-space: nowrap; overflow: hidden; }

.mainvisual__title { position: relative; }

.mainvisual__excerpt { margin-top: 40px; padding-left: 30px; padding-right: 30px; }

.mainvisual__footer { text-align: center; margin-top: 30px; }

.mainvisual__footer .c-btn .c-btn__act { width: 400px; }

@media screen and (max-width: 640px) { .mainvisual { margin-bottom: 45px; }
  .mainvisual__item { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  .mainvisual__itemText { width: auto; padding: 0; font-size: 24px; line-height: 1.8; -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; }
  .mainvisual__itemImage { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; margin-left: -20px; margin-right: -20px; -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }
  .mainvisual__subhead { margin: 0 -20px; padding: 5px 20px; font-size: 12px; letter-spacing: 0.1em; background: #ff6ca4; color: #fff; position: static; left: auto; top: auto; text-indent: 0; white-space: normal; overflow: auto; width: auto; height: auto; }
  .mainvisual__title { position: relative; margin: 0 -20px; padding: 10px 20px; background-color: #fff1ec; font-size: 12px; }
  .mainvisual__excerpt { margin-top: 25px; padding-left: 0; padding-right: 0; }
  .mainvisual__footer { margin-top: 20px; }
  .mainvisual__footer .c-btn .c-btn__act { width: 225px; } }

/* ============================== clearfix */
.clr::after { clear: both; content: ""; display: block; }

/* ============================== utility */
.u-hidetxt, .u-hd { text-indent: -9999px; overflow: hidden; }

.u-hidetxt a, .u-hd a { overflow: hidden; }

.u-alignL { text-align: left !important; }

.u-alignR { text-align: right !important; }

.u-alignC { text-align: center !important; }

.u-valignB { vertical-align: bottom !important; }

.u-valignM { vertical-align: middle !important; }

.u-valignT { vertical-align: top !important; }

.u-indent { padding-left: 1em; text-indent: -1em; }

.u-none { display: none !important; }

.u-pcNone { display: none; }

@media screen and (max-width: 640px) { .u-pcNone { display: block; } }

.u-spNone { display: block; }

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