@charset "UTF-8";
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html { line-height: 1.15; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ }

body { margin: 0; }

h1 { font-size: 2em; margin: 0.67em 0; }

hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ }

pre { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

a { background-color: transparent; }

abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ text-decoration: underline dotted; /* 2 */ }

b, strong { font-weight: bolder; }

code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

small { font-size: 80%; }

sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sub { bottom: -0.25em; }

sup { top: -0.5em; }

img { border-style: none; }

button, input, optgroup, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 1 */ line-height: 1.15; /* 1 */ margin: 0; /* 2 */ }

button, input { /* 1 */ overflow: visible; }

button, select { /* 1 */ text-transform: none; }

button, [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: 0.35em 0.75em 0.625em; }

legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ }

progress { vertical-align: baseline; }

textarea { overflow: auto; }

[type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ }

[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }

[type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ }

[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ }

details { display: block; }

summary { display: list-item; }

template { display: none; }

[hidden] { display: none; }

/******************************************************************
reset
******************************************************************/
main { display: block; }

h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dd { margin: 0; padding: 0; }

li { list-style: none; }

table { border-collapse: collapse; border-spacing: 0; }

iframe { border: 0; }

button { background-color: transparent; border: none; cursor: pointer; padding: 0; appearance: none; }

em { font-style: normal; font-weight: bold; }

fieldset { border: 0; padding: 0; margin: 0; }

address { font-style: normal; }

/******************************************************************
base
******************************************************************/
body { min-width: 320px; font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; font-size: 0.9rem; color: #101010; line-height: 1.8; }

@media screen and (max-width: 736px) { body { font-size: 0.9rem; } }

body[data-menu-open="true"] { overflow: hidden; }

a { color: #00adb0; }

a:hover { text-decoration: none; }

h1, h2 { line-height: 1.5; }

h3 { line-height: 1.6; }

h4 { line-height: 1.7; }

small { line-height: 1.6; }

img { max-width: 100%; height: auto; vertical-align: middle; -webkit-backface-visibility: hidden; }

hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; }

button, input, optgroup, select, textarea { color: #101010; line-height: inherit; }

/******************************************************************
layout - wrapper
******************************************************************/
.l-wrapper { width: 100%; overflow: hidden; }

/******************************************************************
layout - header-fixed
******************************************************************/
.l-header-fixed { position: relative; z-index: 1000; }

.l-header-fixed[data-header-fixed="false"] .l-header-fixed__inner { position: static; }

.l-header-fixed[data-header-fixed="true"] .l-header-fixed__inner { position: fixed; top: 0; width: 100%; }

/******************************************************************
layout - header
******************************************************************/
.l-header { color: #fff; background: #00a7ac; }

@media print, screen and (min-width: 737px) { .l-header { position: relative; }
  .l-header::before { content: ''; display: block; width: 100%; height: 4px; box-shadow: 0 5px 6px -6px #5A5A5A inset; position: absolute; z-index: 3; bottom: -4px; }
  .l-header__inner { max-width: 1200px; margin-right: auto; margin-left: auto; padding-right: 20px; padding-left: 20px; display: flex; justify-content: space-between; align-items: center; }
  .l-header__logo { font-size: 10px; padding: 22px 0 22px 22px; display: flex; } }

@media screen and (min-width: 737px) and (max-width: 1000px) { .l-header__corp img { width: 10vw; } }

@media print, screen and (min-width: 737px) { .l-header__ltd { padding-top: 1px; border-left: 1px solid #fff; padding-left: 22px; margin-left: 20px; } }

@media screen and (min-width: 737px) and (max-width: 1000px) { .l-header__ltd { padding-left: 1.6vw; margin-left: 1.6vw; } }

@media screen and (min-width: 737px) and (max-width: 1000px) { .l-header__ltd img { width: 20vw; } }

@media print, screen and (min-width: 737px) { .l-header__category { margin-left: 15px; white-space: nowrap; font-size: 14px; } }

@media screen and (min-width: 737px) and (max-width: 1000px) { .l-header__category { font-size: 1.4vw; } }

@media print, screen and (min-width: 737px) { .l-header__body-sp { display: none; } }

@media screen and (max-width: 736px) { .l-header__inner { display: flex; justify-content: space-between; line-height: 1; }
  .l-header__logo { min-height: 50px; font-size: 10px; padding: 0 0 0 10px; display: flex; align-items: center; }
  .l-header__corp img { width: 70px; } }

@media screen and (max-width: 736px) and (max-width: 320px) { .l-header__corp img { width: 16vw; } }

@media screen and (max-width: 736px) { .l-header__ltd { border-left: 1px solid #fff; padding-left: 2vw; margin-left: 2vw; }
  .l-header__ltd img { width: 130px; } }

@media screen and (max-width: 736px) and (max-width: 320px) { .l-header__ltd img { width: 30vw; } }

@media screen and (max-width: 736px) { .l-header__category { font-weight: bold; margin-left: 6px; white-space: nowrap; font-size: 10px; }
  .l-header__body-pc { display: none; } }

/******************************************************************
layout - nav-main
******************************************************************/
.l-nav-main a { text-decoration: none; }

@media print, screen and (min-width: 737px) { .l-nav-main { display: flex; border-left: 1px solid #fff; }
  .l-nav-main > .l-nav-main__item { flex-grow: 1; border-right: 1px solid #fff; line-height: 1.2; }
  .l-nav-main > .l-nav-main__item > a { display: flex; align-items: center; box-sizing: border-box; height: 100%; text-align: center; letter-spacing: 1px; transition-property: opacity; transition-duration: 0.3s; } }

@media screen and (min-width: 737px) and (max-width: 1000px) { .l-nav-main > .l-nav-main__item > a { font-size: 1.4vw; } }

@media print, screen and (min-width: 737px) { .l-nav-main > .l-nav-main__item > a > span { flex-grow: 1; display: block; padding: 0 1em; }
  .l-nav-main > .l-nav-main__item > a:hover { opacity: 0.7; } }

/******************************************************************
layout - sp-nav-control
******************************************************************/
@media print, screen and (min-width: 737px) { .l-sp-nav-control { display: none; } }

@media screen and (max-width: 736px) { .l-sp-nav-control { position: relative; display: block; width: 50px; height: 50px; background: #333f48; }
  .l-sp-nav-control span { display: inline-block; transition: all .4s; box-sizing: border-box; position: absolute; left: 16px; width: 18px; height: 2px; background-color: #fff; }
  .l-sp-nav-control span:nth-of-type(1) { top: 17px; }
  .l-sp-nav-control span:nth-of-type(2) { top: 24px; }
  .l-sp-nav-control span:nth-of-type(3) { bottom: 17px; }
  .l-sp-nav-control span:nth-of-type(2):after { position: absolute; top: 0; left: 0; content: ''; width: 18px; height: 2px; background-color: #fff; transition: all .4s; }
  .l-sp-nav-control[aria-expanded="true"] span:nth-of-type(1) { transform: translateY(7px) scale(0, 0); opacity: 0; }
  .l-sp-nav-control[aria-expanded="true"] span:nth-of-type(2) { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
  .l-sp-nav-control[aria-expanded="true"] span:nth-of-type(2):after { -webkit-transform: rotate(90deg); transform: rotate(90deg); }
  .l-sp-nav-control[aria-expanded="true"] span:nth-of-type(3) { transform: translateY(-7px) scale(0, 0); opacity: 0; } }

/******************************************************************
layout - sp-nav
******************************************************************/
@media print, screen and (min-width: 737px) { .l-sp-nav { display: none; } }

@media screen and (max-width: 736px) { .l-sp-nav { display: none; position: relative; background-color: rgba(0, 0, 0, 0.9); color: #ffffff; padding: 14px 12px; }
  .l-sp-nav::before { content: ''; display: block; width: 100%; height: 4px; box-shadow: 0 5px 6px -6px #5A5A5A inset; position: absolute; z-index: 3; bottom: -4px; left: 0; }
  .l-sp-nav--fixed { z-index: 1000; position: absolute; width: 100%; box-sizing: border-box; }
  .l-sp-nav__close { margin-top: 30px; margin-bottom: 15px; }
  .l-sp-nav__close a { display: block; text-align: center; background-color: #333f48; color: #fff; text-decoration: none; position: relative; padding: 5px 20px 5px; }
  .l-sp-nav__close a::before, .l-sp-nav__close a::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; }
  .l-sp-nav__close a::before { border-top: 2px solid #fff; width: 16px; height: 0; top: 0; bottom: 0; right: 0; transform: rotate(45deg); }
  .l-sp-nav__close a::after { border-left: 2px solid #fff; width: 0; height: 16px; top: 0; bottom: 0; right: 7px; transform: rotate(45deg); }
  .l-sp-nav__close a::before { right: 10px; }
  .l-sp-nav__close a::after { right: 17px; } }

/******************************************************************
layout - sp-nav-main
******************************************************************/
@media print, screen and (min-width: 737px) { .l-sp-nav-main { display: none; } }

@media screen and (max-width: 736px) { .l-sp-nav-main__item a { font-weight: bold; color: #fff; text-decoration: none; box-sizing: border-box; line-height: 1.5; }
  .l-sp-nav-main__item a span { display: block; padding: 14px 16px; border-bottom: 1px solid #333f48; } }

/******************************************************************
layout - visual
******************************************************************/
.l-visual img { width: 100%; }

/******************************************************************
layout - pagetop
******************************************************************/
[data-pagetop] { position: relative; }

@media print { [data-pagetop] { display: none; } }

[data-pagetop] .l-pagetop__btn { display: none; position: absolute; bottom: 20px; right: 20px; }

[data-pagetop="fixed"] .l-pagetop__btn { position: fixed; z-index: 100; }

.l-pagetop__btn { display: block; box-sizing: border-box; }

.l-pagetop__btn { position: relative; width: 50px; height: 50px; background: #303f49; opacity: 0.15; }

.l-pagetop__btn::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 0; left: 0; transform: translate(9px, 1px) rotate(45deg); transform-origin: top left; border-top: 1px solid #fff; border-left: 1px solid #fff; width: 18px; height: 18px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }

@media print, screen and (min-width: 737px) { .l-pagetop__btn { transition-property: opacity; transition-duration: 0.3s; }
  .l-pagetop__btn:hover { opacity: 0.5; } }

@media screen and (max-width: 736px) { .l-pagetop__btn { position: relative; width: 40px; height: 40px; }
  .l-pagetop__btn::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 0; left: 0; transform: translate(7px, 1px) rotate(45deg); transform-origin: top left; border-top: 1px solid #fff; border-left: 1px solid #fff; width: 14px; height: 14px; transition-property: top, right, bottom, left; transition-duration: 0.3s; } }

/******************************************************************
layout - footer
******************************************************************/
.l-footer { margin-top: 30px; color: #fff; background: #00adb0; line-height: 1.4; }

@media screen and (max-width: 736px) { .l-footer { margin-top: 15px; } }

.l-footer a { color: #fff; text-decoration: none; }

.l-footer a:hover { text-decoration: underline; }

@media print, screen and (min-width: 737px) { .l-footer__breadcrumb { box-sizing: border-box; background: #000; padding: 10px 0 8px; min-height: 42px; }
  .l-footer__breadcrumb ol { max-width: 1200px; margin-right: auto; margin-left: auto; padding-right: 20px; padding-left: 20px; display: flex; flex-wrap: wrap; }
  .l-footer__breadcrumb ol li { padding-top: 4px; padding-bottom: 4px; margin-right: 14px; font-size: 80%; }
  .l-footer__breadcrumb ol li:not(:last-child) { position: relative; padding-right: 8px; padding-right: 20px; }
  .l-footer__breadcrumb ol li:not(:last-child)::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 0; transform: translate(0px, 4px) rotate(45deg); transform-origin: top right; border-top: 1px solid #00adb0; border-right: 1px solid #00adb0; width: 10px; height: 10px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }
  .l-footer__breadcrumb ol li a { color: #bec3c8; }
  .l-footer__nav { border-bottom: #3ec1c3 solid 1px; padding: 35px 0; }
  .l-footer__nav-inner { max-width: 1200px; margin-right: auto; margin-left: auto; padding-right: 20px; padding-left: 20px; }
  .l-footer__nav-inner > ul { display: flex; justify-content: center; margin-right: -40px; margin-top: -40px; overflow: hidden; }
  .l-footer__nav-inner > ul > li { margin-right: 40px; margin-top: 40px; width: calc((100%/4) - 40px); }
  .l-footer__nav-inner > ul > li > a { display: block; padding-bottom: 4px; border-bottom: #80d6d8 solid 1px; margin-bottom: 15px; }
  .l-footer__nav-inner > ul > li > ul > li { margin-bottom: 10px; font-size: 80%; }
  .l-footer__menu { text-align: center; font-size: 88%; padding: 21px 0; }
  .l-footer__menu ul { max-width: 1200px; margin-right: auto; margin-left: auto; padding-right: 20px; padding-left: 20px; display: flex; justify-content: center; }
  .l-footer__menu ul li:not(:first-child) { margin-left: 65px; }
  .l-footer__copy { border-top: #3ec1c3 solid 1px; text-align: center; font-size: 80%; padding: 21px 0; } }

@media screen and (max-width: 736px) { .l-footer__breadcrumb { box-sizing: border-box; background: #000; padding: 10px 20px 8px 20px; min-height: 42px; }
  .l-footer__breadcrumb ol { display: flex; flex-wrap: wrap; }
  .l-footer__breadcrumb ol li { padding-top: 4px; padding-bottom: 4px; margin-right: 14px; font-size: 80%; }
  .l-footer__breadcrumb ol li:not(:last-child) { position: relative; padding-right: 8px; padding-right: 20px; }
  .l-footer__breadcrumb ol li:not(:last-child)::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 0; transform: translate(0px, 4px) rotate(45deg); transform-origin: top right; border-top: 1px solid #00adb0; border-right: 1px solid #00adb0; width: 10px; height: 10px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }
  .l-footer__breadcrumb ol li a { color: #bec3c8; }
  .l-footer__nav { display: none; }
  .l-footer__menu { padding: 10px 0; text-align: center; }
  .l-footer__menu li { padding: 5px 20px; }
  .l-footer__menu a { font-size: 90%; }
  .l-footer__copy { border-top: #3ec1c3 solid 1px; text-align: center; font-size: 65%; padding: 17px 0; }
  .l-footer__copy span { display: inline-block; } }

/******************************************************************
component - section
******************************************************************/
.c-section { position: relative; padding-top: 0.1px; padding-bottom: 0.1px; margin-top: 60px; }

@media screen and (max-width: 736px) { .c-section { margin-top: 30px; } }

.c-section__fit { max-width: 1200px; margin-right: auto; margin-left: auto; padding-right: 20px; padding-left: 20px; }

@media screen and (max-width: 736px) { .c-section__fit { padding-right: 10px; padding-left: 10px; } }

.c-section__top { max-width: 1200px; margin-right: auto; margin-left: auto; padding-right: 20px; padding-left: 20px; margin-top: 60px; }

@media screen and (max-width: 736px) { .c-section__top { padding-right: 10px; padding-left: 10px; } }

.c-section__bottom { max-width: 1200px; margin-right: auto; margin-left: auto; padding-right: 20px; padding-left: 20px; margin-bottom: 60px; }

@media screen and (max-width: 736px) { .c-section__bottom { padding-right: 10px; padding-left: 10px; } }

.c-section__vertical { max-width: 1200px; margin-right: auto; margin-left: auto; padding-right: 20px; padding-left: 20px; margin-top: 60px; margin-bottom: 60px; }

@media screen and (max-width: 736px) { .c-section__vertical { padding-right: 10px; padding-left: 10px; } }

@media print, screen and (min-width: 737px) { .c-section--contentsrow > * { padding-right: 0; padding-left: 0; } }

.c-section__detail { max-width: 1200px; margin-right: auto; margin-left: auto; padding-right: 20px; padding-left: 20px; margin-bottom: 60px; }

.c-section__detail > *:not(:last-child) { margin-bottom: 1.5rem; }

@media screen and (max-width: 736px) { .c-section__detail > *:not(:last-child) { margin-bottom: 1.125rem; } }

.c-section__detail > * { margin-left: 18px; margin-right: 18px; }

@media screen and (max-width: 736px) { .c-section__detail > * { margin-left: 10px; margin-right: 10px; } }

@media screen and (max-width: 736px) { .c-section__detail { padding-right: 10px; padding-left: 10px; margin-bottom: 30px; } }

@media screen and (max-width: 736px) { .c-section__top { margin-top: 30px; }
  .c-section__bottom { margin-bottom: 30px; }
  .c-section__vertical { margin: 30px auto 30px auto; } }

/******************************************************************
component - grid2
******************************************************************/
.c-grid2 { overflow: hidden; display: flex; flex-wrap: wrap; margin-right: -1rem; margin-top: -1rem; }

.c-grid2--center { justify-content: center; }

.c-grid2--right { justify-content: flex-end; }

@media screen and (max-width: 736px) { .c-grid2.sp-left { justify-content: flex-start; }
  .c-grid2.sp-center { justify-content: center; }
  .c-grid2.sp-right { justify-content: flex-end; } }

.c-grid2 > [class*="c-grid2__item"], .c-grid2 > .c-grid2__item5col { position: relative; box-sizing: border-box; margin-right: 1rem; margin-top: 1rem; }

.c-grid2 > .c-grid2__item1 { width: calc( 8.33333% - 1rem); }

.c-grid2 > .c-grid2__item2 { width: calc( 16.66667% - 1rem); }

.c-grid2 > .c-grid2__item3 { width: calc( 25% - 1rem); }

.c-grid2 > .c-grid2__item4 { width: calc( 33.33333% - 1rem); }

.c-grid2 > .c-grid2__item5 { width: calc( 41.66667% - 1rem); }

.c-grid2 > .c-grid2__item6 { width: calc( 50% - 1rem); }

.c-grid2 > .c-grid2__item7 { width: calc( 58.33333% - 1rem); }

.c-grid2 > .c-grid2__item8 { width: calc( 66.66667% - 1rem); }

.c-grid2 > .c-grid2__item9 { width: calc( 75% - 1rem); }

.c-grid2 > .c-grid2__item10 { width: calc( 83.33333% - 1rem); }

.c-grid2 > .c-grid2__item11 { width: calc( 91.66667% - 1rem); }

.c-grid2 > .c-grid2__item12 { width: calc( 100% - 1rem); }

.c-grid2 > .c-grid2__item5col { width: calc( 20% - 1rem); }

.c-grid2--vertical > [class*="c-grid2__item"], .c-grid2--vertical > .c-grid2__item5col { display: flex; align-items: center; }

@media screen and (max-width: 736px) { .c-grid2 { margin-right: -0.75rem; margin-top: -0.75rem; }
  .c-grid2 > [class*="c-grid2__item"], .c-grid2 > .c-grid2__item5col { margin-right: 0.75rem; margin-top: 0.75rem; }
  .c-grid2 > .c-grid2__item1 { width: calc( 8.33333% - 0.75rem); }
  .c-grid2 > .c-grid2__item2 { width: calc( 16.66667% - 0.75rem); }
  .c-grid2 > .c-grid2__item3 { width: calc( 25% - 0.75rem); }
  .c-grid2 > .c-grid2__item4 { width: calc( 33.33333% - 0.75rem); }
  .c-grid2 > .c-grid2__item5 { width: calc( 41.66667% - 0.75rem); }
  .c-grid2 > .c-grid2__item6 { width: calc( 50% - 0.75rem); }
  .c-grid2 > .c-grid2__item7 { width: calc( 58.33333% - 0.75rem); }
  .c-grid2 > .c-grid2__item8 { width: calc( 66.66667% - 0.75rem); }
  .c-grid2 > .c-grid2__item9 { width: calc( 75% - 0.75rem); }
  .c-grid2 > .c-grid2__item10 { width: calc( 83.33333% - 0.75rem); }
  .c-grid2 > .c-grid2__item11 { width: calc( 91.66667% - 0.75rem); }
  .c-grid2 > .c-grid2__item12 { width: calc( 100% - 0.75rem); }
  .c-grid2 > .c-grid2__item5col { width: calc( 20% - 0.75rem); }
  .c-grid2 > .sp-item1 { width: calc( 8.33333% - 0.75rem); }
  .c-grid2 > .sp-item2 { width: calc( 16.66667% - 0.75rem); }
  .c-grid2 > .sp-item3 { width: calc( 25% - 0.75rem); }
  .c-grid2 > .sp-item4 { width: calc( 33.33333% - 0.75rem); }
  .c-grid2 > .sp-item5 { width: calc( 41.66667% - 0.75rem); }
  .c-grid2 > .sp-item6 { width: calc( 50% - 0.75rem); }
  .c-grid2 > .sp-item7 { width: calc( 58.33333% - 0.75rem); }
  .c-grid2 > .sp-item8 { width: calc( 66.66667% - 0.75rem); }
  .c-grid2 > .sp-item9 { width: calc( 75% - 0.75rem); }
  .c-grid2 > .sp-item10 { width: calc( 83.33333% - 0.75rem); }
  .c-grid2 > .sp-item11 { width: calc( 91.66667% - 0.75rem); }
  .c-grid2 > .sp-item12 { width: calc( 100% - 0.75rem); }
  .c-grid2 > .sp-item5col { width: calc( 20% - 0.75rem); } }

/******************************************************************
component - gutter
******************************************************************/
.c-gutter > *:not(:last-child) { margin-bottom: 1rem; }

.c-gutter-2l > *:not(:last-child) { margin-bottom: 1.5rem; }

@media screen and (max-width: 736px) { .c-gutter > *:not(:last-child) { margin-bottom: 0.75rem; }
  .c-gutter-2l > *:not(:last-child) { margin-bottom: 1.125rem; }
  .c-sp-gutter > *:not(:last-child) { margin-bottom: 0.75rem; }
  .c-sp-gutter-2l > *:not(:last-child) { margin-bottom: 1.125rem; } }

/******************************************************************
component - text-row2
******************************************************************/
.c-text-row2 { display: flex; }

.c-text-row2--inline { display: inline-flex; }

.c-text-row2--vertical { align-items: center; }

.c-text-row2 > .c-text-row2__head-left, .c-text-row2 > .c-text-row2__head-right { box-sizing: border-box; flex-shrink: 0; max-width: 60%; }

.c-text-row2 > .c-text-row2__head-left { margin-right: 1rem; order: 1; }

.c-text-row2 > .c-text-row2__head-right { margin-left: 1rem; order: 2; }

.c-text-row2 > .c-text-row2__body-right, .c-text-row2 > .c-text-row2__body-left { box-sizing: border-box; flex-grow: 1; }

.c-text-row2 > .c-text-row2__body-right { order: 2; }

.c-text-row2 > .c-text-row2__body-left { order: 1; }

@media screen and (max-width: 736px) { .c-text-row2.sp-top { align-items: stretch; }
  .c-text-row2.sp-vertical { align-items: center; }
  .c-text-row2 > .c-text-row2__head-left { margin-right: 0.75rem; }
  .c-text-row2 > .c-text-row2__head-right { margin-left: 0.75rem; }
  .c-text-row2.sp-column { flex-direction: column; }
  .c-text-row2.sp-column--center { align-items: flex-start; }
  .c-text-row2.sp-column > .c-text-row2__head-left, .c-text-row2.sp-column > .c-text-row2__head-right { order: 1; margin-bottom: 0.75rem; margin-right: 0; margin-left: 0; text-align: center; width: 100%; max-width: none; }
  .c-text-row2.sp-column > .c-text-row2__body-right, .c-text-row2.sp-column > .c-text-row2__body-left { order: 2; width: 100%; }
  .c-text-row2.sp-column.sp-column-reverse > .c-text-row2__head-left, .c-text-row2.sp-column.sp-column-reverse > .c-text-row2__head-right { order: 2; margin-top: 0.75rem; margin-bottom: 0; }
  .c-text-row2.sp-column.sp-column-reverse > .c-text-row2__body-right, .c-text-row2.sp-column.sp-column-reverse > .c-text-row2__body-left { order: 1; } }

.c-text-row2--2l > .c-text-row2__head-left { margin-right: 1.5rem; }

.c-text-row2--2l > .c-text-row2__head-right { margin-left: 1.5rem; }

@media screen and (max-width: 736px) { .c-text-row2--2l > .c-text-row2__head-left { margin-right: 1.125rem; }
  .c-text-row2--2l > .c-text-row2__head-right { margin-left: 1.125rem; }
  .c-text-row2--2l.sp-column > .c-text-row2__head-left, .c-text-row2--2l.sp-column > .c-text-row2__head-right { margin-bottom: 1.125rem; }
  .c-text-row2--2l.sp-column.sp-column-reverse > .c-text-row2__head-left, .c-text-row2--2l.sp-column.sp-column-reverse > .c-text-row2__head-right { margin-top: 1.125rem; } }

@media screen and (max-width: 736px) { .c-text-row2.sp-2l > .c-text-row2__head-left { margin-right: 1.125rem; }
  .c-text-row2.sp-2l > .c-text-row2__head-right { margin-left: 1.125rem; }
  .c-text-row2.sp-2l.sp-column > .c-text-row2__head-left, .c-text-row2.sp-2l.sp-column > .c-text-row2__head-right { margin-bottom: 1.125rem; margin-right: 0; margin-left: 0; }
  .c-text-row2.sp-2l.sp-column.sp-column-reverse > .c-text-row2__head-left, .c-text-row2.sp-2l.sp-column.sp-column-reverse > .c-text-row2__head-right { margin-top: 1.125rem; } }

/******************************************************************
component - list-disc
******************************************************************/
.c-list-disc__item { margin-left: 1.5em; list-style: disc; }

/******************************************************************
component - list-order
******************************************************************/
.c-list-order__item { margin-left: 1.5em; list-style: decimal; }

/******************************************************************
component - list-notes
******************************************************************/
.c-list-notes { display: table; }

.c-list-notes--bordersand { border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; padding-top: 0.8rem; padding-bottom: 0.8rem; }

@media screen and (max-width: 736px) { .c-list-notes--bordersand { padding-top: 0.6rem; padding-bottom: 0.6rem; } }

.c-list-notes--border > .c-list-notes__row:first-child:not(:last-child) > .c-list-notes__head, .c-list-notes--border > .c-list-notes__row:first-child:not(:last-child) > .c-list-notes__body { padding-bottom: 0.8rem; }

@media screen and (max-width: 736px) { .c-list-notes--border > .c-list-notes__row:first-child:not(:last-child) > .c-list-notes__head, .c-list-notes--border > .c-list-notes__row:first-child:not(:last-child) > .c-list-notes__body { padding-bottom: 0.6rem; } }

.c-list-notes--border > .c-list-notes__row:not(:first-child):not(:last-child) > .c-list-notes__head, .c-list-notes--border > .c-list-notes__row:not(:first-child):not(:last-child) > .c-list-notes__body { border-top: 1px solid #ccc; padding-top: 0.8rem; padding-bottom: 0.8rem; }

@media screen and (max-width: 736px) { .c-list-notes--border > .c-list-notes__row:not(:first-child):not(:last-child) > .c-list-notes__head, .c-list-notes--border > .c-list-notes__row:not(:first-child):not(:last-child) > .c-list-notes__body { padding-top: 0.6rem; padding-bottom: 0.6rem; } }

.c-list-notes--border > .c-list-notes__row:not(:first-child):last-child > .c-list-notes__head, .c-list-notes--border > .c-list-notes__row:not(:first-child):last-child > .c-list-notes__body { border-top: 1px solid #ccc; padding-top: 0.8rem; }

@media screen and (max-width: 736px) { .c-list-notes--border > .c-list-notes__row:not(:first-child):last-child > .c-list-notes__head, .c-list-notes--border > .c-list-notes__row:not(:first-child):last-child > .c-list-notes__body { padding-top: 0.6rem; } }

.c-list-notes--s { font-size: 0.75rem; line-height: 1.6; }

@media screen and (max-width: 736px) { .c-list-notes--s { font-size: 0.75rem; } }

.c-list-notes--gutter > .c-list-notes__row:not(:first-child) > .c-list-notes__head, .c-list-notes--gutter > .c-list-notes__row:not(:first-child) > .c-list-notes__body { padding-top: 0.8rem; }

@media screen and (max-width: 736px) { .c-list-notes--gutter > .c-list-notes__row:not(:first-child) > .c-list-notes__head, .c-list-notes--gutter > .c-list-notes__row:not(:first-child) > .c-list-notes__body { padding-top: 0.6rem; } }

@media screen and (max-width: 736px) { .c-list-notes--gutter.sp-vertial > .c-list-notes__row:not(:first-child) > .c-list-notes__body { padding-top: 0; } }

.c-list-notes__row { display: table-row; }

.c-list-notes__head { display: table-cell; white-space: nowrap; padding-right: 0.5em; width: 0.1%; vertical-align: top; }

.c-list-notes__head--wide { padding-right: 1.5em; font-weight: 400; }

.c-list-notes__head--fit { padding-right: 0; }

.c-list-notes__body { display: table-cell; vertical-align: top; }

@media screen and (max-width: 736px) { .c-list-notes.sp-vertial { display: block; }
  .c-list-notes.sp-vertial > .c-list-notes__row { display: block; }
  .c-list-notes.sp-vertial > .c-list-notes__row > .c-list-notes__head { display: block; white-space: normal; padding-right: 0; width: auto; }
  .c-list-notes.sp-vertial > .c-list-notes__row > .c-list-notes__body { display: block; }
  .c-list-notes.sp-vertial > .c-list-notes__row:not(:first-child) > .c-list-notes__head--wide { margin-top: 5px; }
  .c-list-notes.sp-vertial > .c-list-notes__row > .c-list-notes__head--wide + .c-list-notes__body { margin-top: 5px; }
  .c-list-notes--border.sp-vertial > .c-list-notes__row:not(:first-child):not(:last-child) > .c-list-notes__body { border-top: 0; padding-top: 0; }
  .c-list-notes--border.sp-vertial > .c-list-notes__row:last-child > .c-list-notes__body { border-top: 0; }
  .c-list-notes--border.sp-vertial > .c-list-notes__row > .c-list-notes__head { padding-bottom: 0 !important; }
  .c-list-notes--border.sp-vertial > .c-list-notes__row > .c-list-notes__body { padding-top: 0 !important; } }

/******************************************************************
component - hgroup
******************************************************************/
.c-hgroup1 { border-bottom: #ccc 1px solid; background: #E6E6E6; }

.c-hgroup1__inner { max-width: 1200px; margin-right: auto; margin-left: auto; padding-right: 20px; padding-left: 20px; padding-top: 23px; padding-bottom: 16px; }

@media screen and (max-width: 736px) { .c-hgroup1__inner { padding: 10px 10px 9px 10px; } }

/******************************************************************
component - heading
******************************************************************/
.c-heading1 { line-height: 1.4; color: #00adb0; font-size: 230%; }

@media screen and (max-width: 736px) { .c-heading1 { font-size: 160%; } }

.c-heading2 { margin-left: 0 !important; margin-right: 0 !important; margin-bottom: 25px !important; padding-bottom: 5px; font-size: 24px; color: #333f48; position: relative; }

.c-heading2:not(:first-child) { margin-top: 60px; }

@media screen and (max-width: 736px) { .c-heading2:not(:first-child) { margin-top: 30px; } }

@media screen and (max-width: 736px) { .c-heading2 { margin-bottom: 15px !important; font-size: 18px; } }

.c-heading2::before { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; right: 0; bottom: 0; left: 0; width: 100%; height: 3px; background-color: #e6e6e6; border-left: 20px solid #00b0b2; }

.c-heading3 { font-size: 22px; margin-bottom: 20px; color: #333f48; border-bottom: 1px solid #e6e6e6; }

@media screen and (max-width: 736px) { .c-heading3 { font-size: 16.5px; } }

/******************************************************************
component - button
******************************************************************/
.c-button { color: inherit; text-decoration: none; display: inline-block; text-align: center; cursor: pointer; vertical-align: middle; box-sizing: border-box; border: 1px solid transparent; line-height: 1.5; padding: 0.5em 1.5em; }

.c-button:hover { color: inherit; text-decoration: none; }

.c-button--radius { border-radius: 6px; }

.c-button--circle { border-radius: 3em; }

.c-button--full { display: block; width: 100%; padding: 0.5em 1em; }

.c-button--recruit { display: block; border: 2px solid #00adb0; color: #00adb0; border-radius: 6px; font-size: 140%; line-height: 1.3; letter-spacing: 2px; font-weight: bold; position: relative; padding-right: 27px; padding: 15px 35px; transition-property: background, color; transition-duration: 0.3s; }

.c-button--recruit::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 20px; height: 8px; border-color: #00adb0; border-style: solid; border-right-width: 0; border-left-width: 7px; border-top: 4px solid transparent; border-bottom: 4px solid transparent; }

@media screen and (max-width: 736px) { .c-button--recruit { font-size: 120%; width: 100%; position: relative; padding-right: 17px; padding: 15px 20px; }
  .c-button--recruit::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 10px; height: 8px; border-color: #00adb0; border-style: solid; border-right-width: 0; border-left-width: 7px; border-top: 4px solid transparent; border-bottom: 4px solid transparent; } }

.c-button--recruit:hover { background-color: #00adb0; color: #fff; }

.c-button--recruit:hover::after { border-left-color: #fff; border-right-color: #fff; }

.c-button--recruit small { font-weight: normal; display: block; letter-spacing: 0; font-size: 14px; }

@media screen and (max-width: 736px) { .c-button--recruit small { font-size: 12px; } }

.c-button--basic { border: 1px solid #00adb0; color: #00adb0; border-radius: 2em; font-size: 125%; line-height: 1.3; letter-spacing: 1px; position: relative; padding-right: 27px; padding: 15px 3em; transition-property: background, color; transition-duration: 0.3s; }

.c-button--basic::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 20px; height: 8px; border-color: #00adb0; border-style: solid; border-right-width: 0; border-left-width: 7px; border-top: 4px solid transparent; border-bottom: 4px solid transparent; }

@media screen and (max-width: 736px) { .c-button--basic { font-size: 100%; position: relative; padding-right: 17px; padding: 15px 3em; }
  .c-button--basic::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 10px; height: 8px; border-color: #00adb0; border-style: solid; border-right-width: 0; border-left-width: 7px; border-top: 4px solid transparent; border-bottom: 4px solid transparent; } }

.c-button--basic:hover { background-color: #00adb0; color: #fff; }

.c-button--basic:hover::after { border-left-color: #fff; border-right-color: #fff; }

.c-button--basic-full { width: 70%; border: 1px solid #00adb0; color: #00adb0; border-radius: 2em; font-size: 125%; line-height: 1.3; letter-spacing: 1px; position: relative; padding-right: 27px; padding: 15px 35px; transition-property: background, color; transition-duration: 0.3s; }

.c-button--basic-full::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 20px; height: 8px; border-color: #00adb0; border-style: solid; border-right-width: 0; border-left-width: 7px; border-top: 4px solid transparent; border-bottom: 4px solid transparent; }

@media screen and (max-width: 736px) { .c-button--basic-full { font-size: 100%; width: 100%; position: relative; padding-right: 17px; padding: 15px 25px; }
  .c-button--basic-full::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 10px; height: 8px; border-color: #00adb0; border-style: solid; border-right-width: 0; border-left-width: 7px; border-top: 4px solid transparent; border-bottom: 4px solid transparent; } }

.c-button--basic-full:hover { background-color: #00adb0; color: #fff; }

.c-button--basic-full:hover::after { border-left-color: #fff; border-right-color: #fff; }

.c-button--basic-full { width: 70%; border: 1px solid #00adb0; color: #00adb0; border-radius: 2em; font-size: 125%; line-height: 1.3; letter-spacing: 1px; position: relative; padding-right: 27px; padding: 15px 35px; transition-property: background, color; transition-duration: 0.3s; }

.c-button--basic-full::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 20px; height: 8px; border-color: #00adb0; border-style: solid; border-right-width: 0; border-left-width: 7px; border-top: 4px solid transparent; border-bottom: 4px solid transparent; }

@media screen and (max-width: 736px) { .c-button--basic-full { font-size: 100%; width: 100%; position: relative; padding-right: 17px; padding: 15px 25px; }
  .c-button--basic-full::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 10px; height: 8px; border-color: #00adb0; border-style: solid; border-right-width: 0; border-left-width: 7px; border-top: 4px solid transparent; border-bottom: 4px solid transparent; } }

.c-button--basic-full:hover { background-color: #00adb0; color: #fff; }

.c-button--basic-full:hover::after { border-left-color: #fff; border-right-color: #fff; }

.c-button--more-full { width: 70%; border: 1px solid #00adb0; color: #00adb0; border-radius: 2em; font-size: 125%; line-height: 1.3; letter-spacing: 1px; position: relative; padding-right: 28px; padding: 15px 35px; transition-property: background, color; transition-duration: 0.3s; }

.c-button--more-full::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 20px; height: 7px; border-color: #00adb0; border-style: solid; border-top-width: 8px; border-bottom-width: 0; border-left: 3.5px solid transparent; border-right: 3.5px solid transparent; }

@media screen and (max-width: 736px) { .c-button--more-full { font-size: 100%; width: 100%; position: relative; padding-right: 18px; padding: 15px 25px; }
  .c-button--more-full::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 10px; height: 7px; border-color: #00adb0; border-style: solid; border-top-width: 8px; border-bottom-width: 0; border-left: 3.5px solid transparent; border-right: 3.5px solid transparent; } }

.c-button--more-full:hover { background-color: #00adb0; color: #fff; }

.c-button--more-full:hover::after { border-top-color: #fff; border-bottom-color: #fff; }

.c-button:disabled { opacity: 0.6; cursor: not-allowed; }

/******************************************************************
component - badge
******************************************************************/
.c-badge { display: inline-block; text-align: center; vertical-align: 1px; box-sizing: border-box; line-height: 1; font-size: 0.75em; font-weight: bold; border: 1px solid transparent; padding: 0.35em 0.5em 0.25em; border-radius: 3px; }

.c-badge--full { display: block; width: 100%; }

.c-badge--new { background: #ff5252; color: #fff; font-size: 14px; font-weight: normal; vertical-align: middle; }

/******************************************************************
project - profile
******************************************************************/
.p-profile { box-sizing: border-box; background-color: #f7f7f7; padding: 1.5em; text-align: left; }

@media print, screen and (min-width: 737px) { .p-profile { min-width: 380px; } }

@media screen and (max-width: 736px) { .p-profile { width: 100%; } }

.p-profile__title { font-weight: bold; font-size: 16px; }

/******************************************************************
project - job-list
******************************************************************/
.p-job-list__accordion { display: none; }

@media print, screen and (min-width: 737px) { .p-job-list__accordion > *:not(:last-child) { margin-bottom: 1.5rem; } }

@media screen and (min-width: 737px) and (max-width: 736px) { .p-job-list__accordion > *:not(:last-child) { margin-bottom: 1.125rem; } }

.p-job-list { margin-left: 0 !important; margin-right: 0 !important; }

@media print, screen and (min-width: 737px) { .p-job-list > *:not(:last-child) { margin-bottom: 1.5rem; } }

@media screen and (min-width: 737px) and (max-width: 736px) { .p-job-list > *:not(:last-child) { margin-bottom: 1.125rem; } }

.p-job-list .c-badge--new { font-size: 12px; }

@media screen and (max-width: 736px) { .p-job-list .c-badge--new { font-size: 10px; } }

@media screen and (max-width: 736px) { .p-job-list__item { border-top: 1px solid #e1e1e1; } }

.p-job-list a { display: flex; color: inherit; text-decoration: none; }

@media print, screen and (min-width: 737px) { .p-job-list a { border: 1px solid #e1e1e1; padding: 20px; transition-property: background; transition-duration: 0.3s; }
  .p-job-list a:hover { background-color: #f7f7f7; } }

@media screen and (max-width: 736px) { .p-job-list a { padding: 15px 0; } }

@media print, screen and (min-width: 737px) { .p-job-list__img { width: 200px; margin-right: 20px; } }

@media screen and (max-width: 736px) { .p-job-list__img { width: 30%; margin-right: 5%; } }

.p-job-list__body > *:not(:last-child) { margin-bottom: 0.4rem; }

@media screen and (max-width: 736px) { .p-job-list__body > *:not(:last-child) { margin-bottom: 0.3rem; } }

@media print, screen and (min-width: 737px) { .p-job-list__body { width: calc(100% - 200px - 20px); } }

@media screen and (max-width: 736px) { .p-job-list__body { width: 65%; } }

.p-job-list__title { display: block; font-weight: bold; font-size: 1.2em; }

@media screen and (max-width: 736px) { .p-job-list__title { font-size: 0.9em; } }

.p-job-list dl { border: 1px dotted #cccccc; padding: 1em; }

@media screen and (max-width: 736px) { .p-job-list dl { padding: 10px; font-size: 10px; } }

.p-job-list dl dt { display: inline; color: #808080; }

.p-job-list dl dd { display: inline; margin-right: 1em; color: #00adb0; }

.p-job-list__time { color: #808080; background: url(/recruit/shared/images/ic_time.png) left center/1em auto no-repeat; padding-left: 1.25em; }

@media screen and (max-width: 736px) { .p-job-list__time { font-size: 10px; } }

/******************************************************************
project - job
******************************************************************/
.p-job-head { margin-left: 0 !important; margin-right: 0 !important; }

.p-job-head__badge { display: flex; }

.p-job-head__badge li { margin-right: 5px; border: 1px solid #fa9f0c; color: #fa9f0c; font-size: 11px; padding: 0.3em 0.6em; }

.p-job-head__title { font-size: 28px; }

@media screen and (max-width: 736px) { .p-job-head__title { font-size: 22px; } }

@media print, screen and (min-width: 737px) { .p-job-detail > *:not(:last-child) { margin-bottom: 1rem; } }

@media screen and (min-width: 737px) and (max-width: 736px) { .p-job-detail > *:not(:last-child) { margin-bottom: 0.75rem; } }

@media print, screen and (min-width: 737px) { .p-job-detail > div { display: flex; justify-content: space-between; }
  .p-job-detail dt { box-sizing: border-box; width: 20%; background-color: #f7f7f7; padding: 1.5em; }
  .p-job-detail dd { box-sizing: border-box; width: calc(80% - 1rem); padding: 1.5em; border: 1px solid #e1e1e1; } }

@media screen and (max-width: 736px) { .p-job-detail > div { padding-bottom: 10px; }
  .p-job-detail > div:not(:first-child) { padding: 10px 0; border-top: 1px dotted #cccccc; }
  .p-job-detail dt { padding-bottom: 5px; }
  .p-job-detail dt span { display: inline-block; position: relative; font-weight: bold; background-color: #00a7ac; color: #fff; position: relative; padding-left: 11px; padding: 0.1em 0.6em 0.1em 1.0em; }
  .p-job-detail dt span::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; left: 5px; height: 5px; border-color: #fff; border-style: solid; border-top-width: 6px; border-bottom-width: 0; border-left: 2.5px solid transparent; border-right: 2.5px solid transparent; } }

/* 171107_よくあるお問い合わせ
-------------------------------------------------- */
/*180515 ilinkクラス付
#contents #QAbox dl dd p a::before{
	content: "";
	width: 0;
	height: 0;
	display: inline-block;
	margin-right: 6px;
	border-style: solid;
	border-width: 6px 0 6px 8px;
	border-color: transparent transparent transparent #00a7ac;
}*/
/* 171107_お問い合わせページ（フォーム）
-------------------------------------------------- */
.contactform span.ico_required { display: inline-block; padding: 5px 6px 3px 6px; margin: 0 5px 0 0; line-height: 1; background: #e93636; color: #ffffff; }

.contactform form textarea::placeholder, .contactform form input::placeholder { color: #646464; }

.contactform form textarea:-ms-input-placeholder, .contactform form input:-ms-input-placeholder { color: #646464; }

.contactform form table { border: 1px solid #cccccc; box-sizing: border-box; width: 100%; border-collapse: collapse; border-spacing: 0; }

.contactform form table th { width: 25%; padding: 26px 70px 20px 20px; text-align: left; border-right: 1px solid #cccccc; border-bottom: 1px solid #cccccc; position: relative; vertical-align: middle; }

.contactform form table th::after { content: "任意"; background: #d3d3d3; position: absolute; display: inline-block; top: 0; bottom: 0; margin: auto; right: 20px; color: #111; height: 20px; line-height: 1; padding: 4px 5px 0; letter-spacing: 0.05em; font-weight: normal; box-sizing: border-box; }

.contactform form table th.ico_required::after { content: "必須"; background: #e93636; color: #fff; }

.contactform form table td { padding: 25px 30px; vertical-align: middle; border-bottom: 1px solid #cccccc; }

.contactform form table td .products_box ul, .contactform form table td .check_box ul { /*margin-bottom:15px;*/ margin-bottom: 0px; }

.contactform form table td .products_box ul li, .contactform form table td .check_box ul li { display: inline-block; padding-right: 35px; }

.contactform form table td .products_box ul li input, .contactform form table td .check_box ul li input { height: 1em; vertical-align: middle; }

.contactform form table td .products_box ul li label, .contactform form table td .check_box ul li label { padding-left: 6px; }

.contactform form table td .name_box { display: table; width: 60%; }

.contactform form table td .name_box span { display: table-cell; width: 2.25em; padding-right: 5px; text-align: left; }

.contactform form table td .name_box .input { margin-right: 33px; }

.contactform form table td .company_box { width: 56%; }

.contactform form table td .company_box p:first-child { margin-bottom: 10px; }

.contactform form table td .company_box .input { /*margin-bottom:10px;*/ margin-bottom: 0; }

.contactform form table td .company_box .job_type_list li:nth-child(2) { margin: 20px 0 0 0; }

.contactform form table td .company_box select::-ms-expand, .contactform form table td .personal_box select::-ms-expand { display: none; }

.contactform form table td .company_box select, .contactform form table td .personal_box select { cursor: pointer; position: relative; display: block; width: 100%; height: 38px; line-height: 38px; box-sizing: border-box; padding-left: 10px; padding-right: 0px; background: transparent; border: 1px solid #ddd; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkM0OEJBRENDNDE2NzExRUE5NEQ3OUVCMzA1RUVFQkMwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkM0OEJBRENENDE2NzExRUE5NEQ3OUVCMzA1RUVFQkMwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzQ4QkFEQ0E0MTY3MTFFQTk0RDc5RUIzMDVFRUVCQzAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QzQ4QkFEQ0I0MTY3MTFFQTk0RDc5RUIzMDVFRUVCQzAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7MNRsyAAAAi0lEQVR42mJgYGCYCMT/qYQnATEDMxDvpIJhO6FmgQE/EF+nwLAbUDNQgAoQvyXDsLdQvViBExD/IsGwX1A9eEEmCQZmMhAJphBh2FQGEgAotvbgMWwPcowSC0CxdguLYbexxSixABR7H5AM+4AvRokFoFj8A8XOxIQVIXAfiN8A8Q4gXklIMUCAAQBidHm/zo+CJwAAAABJRU5ErkJggg==); background-repeat: no-repeat; background-size: 10px; background-position: right 15px center; }

.contactform form table td .personal_box .personal_zipbox { display: table; width: 60%; }

.contactform form table td .personal_box .personal_zipbox span { display: table-cell; width: 2.25em; padding-right: 5px; text-align: left; }

.contactform form table td .personal_box .personal_zipbox .input { display: inline-block; width: 160px; padding-right: 10px; }

.contactform form table td .personal_box .personal_zipbox #zipbutton { padding: 9px 25px; border: 1px solid #ffffff; outline: none; cursor: pointer; box-sizing: border-box; background-color: #666666; color: #ffffff; }

.contactform form table td .personal_box .personal_zipbox #zipbutton:hover { background-color: #888; }

.contactform form table td .personal_box .personal_addressbox { display: table; width: 100%; margin-bottom: 20px; }

.contactform form table td .personal_box .personal_addressbox:last-of-type { margin-bottom: 0; }

.contactform form table td .personal_box .personal_addressbox span { display: table-cell; vertical-align: middle; width: 7.4em; padding-right: 5px; text-align: left; }

.contactform form table td .personal_box .personal_addressbox .select { width: 30%; }

.contactform form table td .personal_box .personal_addressbox .input { width: 65%; }

.contactform form table td .personal_box .personal_telbox .input { width: 56%; }

.contactform form table td .personal_box .personal_telbox:last-of-type { margin-top: 10px; }

.contactform form table td .personal_box p:first-child { margin-bottom: 10px; }

.contactform form table td .comment_box p { margin-bottom: 10px; }

.contactform form table td .comment_box textarea { min-height: 8em; }

.contactform form #agree_box { padding-top: 30px; }

.contactform form #agree_box > p { text-align: center; }

.contactform form #agree_box #privacy_text { width: 70%; height: 200px; overflow-y: scroll; border: 1px solid #ccc; margin: 20px auto; font-size: 12px; padding: 30px 30px 10px; }

.contactform form #agree_box #privacy_text > p strong { display: block; font-size: 120%; margin-bottom: 10px; }

.contactform form #agree_box #privacy_text > div { margin-bottom: 20px; }

.contactform form #agree_box #privacy_text > div > *:not(:first-child) { margin-top: 10px; }

.contactform form #submit_box { display: table; margin: 40px auto; }

.contactform form #submit_box ul li { display: table-cell; padding-left: 30px; }

.contactform form #submit_box ul li button { border: 1px solid #888; width: 200px; text-align: center; padding: 12px; background: #ffffff; color: #333333; font-size: 110%; box-sizing: border-box; cursor: pointer; }

.contactform form #submit_box ul li button:hover { opacity: .7; }

.contactform form #submit_box ul li:first-child { padding-left: 0; }

.contactform form #submit_box ul li:first-child button { border: none; width: 300px; background: #00a7ac; color: #ffffff; font-size: 130%; transition: background .1s linear; }

.contactform form #submit_box ul li:first-child button:disabled { background: #aaaaaa; cursor: inherit; opacity: 1.0; }

.contactform form #submit_box ul li:first-child button:hover { opacity: 1.0; }

.contactform form table td input[type="text"], .contactform form table td input[type="password"], .contactform form table td textarea { padding: 10px 10px 9px; border: solid 1px #ddd; box-sizing: border-box; resize: vertical; width: 100%; font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; line-height: 1.2; }

/* 171107_お問い合わせページ（確認用）
-------------------------------------------------- */
.confirm form table td .products_box, .confirm form table td .company_box, .confirm form table td .name_box, .confirm form table td .personal_box, .confirm form table td .comment_box, .confirm form table td .check_box { display: none; }

.confirm form table th::after { display: none; }

/* 171107_お問い合わせページ（受付完了用）
-------------------------------------------------- */
/* 180529_あいさつ文追加
-------------------------------------------------- */
#contents .atendtxt { min-width: 1200px; text-align: center; margin: 40px auto; }

#contents .atendtxt .details { font-size: 105%; line-height: 1.8; }

@media screen and (max-width: 767px) { /*_::-webkit-full-page-media, _:future, :root #contents form td select{
    -moz-appearance: menulist;
    -webkit-appearance : none;
    appearance: button;
}*/
  /* 171107_よくあるお問い合わせ
-------------------------------------------------- */
  /* 171107_お問い合わせページ（フォーム）
-------------------------------------------------- */
  .contactform form table { font-size: 94%; }
  .contactform form table th { width: 30%; padding: 40px 10px 15px 10px; font-size: 93%; }
  .contactform form table th::after { margin: inherit; top: 15px; left: 10px; right: inherit; font-size: 90%; }
  .contactform form table td { padding: 15px; }
  .contactform form table td .products_box ul, .contactform form table td .check_box ul { /*margin-bottom:10px;*/ margin-bottom: 0px; }
  .contactform form table td .products_box ul li, .contactform form table td .check_box ul li { display: block; padding-right: 0px; margin-bottom: 5px; }
  .contactform form table td .products_box ul li:last-of-type, .contactform form table td .check_box ul li:last-of-type { margin-bottom: 0; }
  .contactform form table td .products_box ul li label, .contactform form table td .check_box ul li label { padding-left: 5px; }
  .contactform form table td .name_box { width: 100%; display: block; }
  .contactform form table td .name_box span { display: block; width: 100%; margin-bottom: 5px; padding-right: 0px; }
  .contactform form table td .name_box .input { margin: 0 0 10px 0; }
  .contactform form table td .name_box .input:last-child { margin: 0; }
  .contactform form table td .company_box { width: 100%; }
  .contactform form table td .personal_box .personal_zipbox { width: 100%; }
  .contactform form table td .personal_box .personal_zipbox span { display: none; }
  .contactform form table td .personal_box .personal_zipbox .input { width: 100%; margin-bottom: 5px; padding-right: 0px; }
  .contactform form table td .personal_box .personal_zipbox #zipbutton { width: 100%; padding: 9px 25px; }
  .contactform form table td .personal_box .personal_addressbox { display: table; width: 100%; margin-bottom: 15px; }
  .contactform form table td .personal_box .personal_addressbox:last-child { margin-bottom: 0; }
  .contactform form table td .personal_box .personal_addressbox span { display: block; width: 100%; margin-bottom: 5px; padding-right: 0px; }
  .contactform form table td .personal_box .personal_addressbox .select { width: 100%; }
  .contactform form table td .personal_box .personal_addressbox .input { width: 100%; }
  .contactform form table td .personal_box .personal_telbox .input { width: 100%; }
  .contactform form table td .personal_box p:first-child { margin-bottom: 10px; }
  .contactform form table td .comment_box p { margin-bottom: 5px; }
  .contactform form table td .comment_box textarea { min-height: 10em; }
  .contactform form #agree_box #privacy_text { width: 86%; font-size: 90%; height: 250px; margin: 20px auto; padding: 20px 8% 20px 6%; }
  .contactform form #submit_box { display: block; margin: 30px auto; }
  .contactform form #submit_box ul li { display: block; padding-left: 0; }
  .contactform form #submit_box ul li button { width: 100%; }
  .contactform form #submit_box ul li:first-child { padding-left: 0; }
  .contactform form #submit_box ul li:first-child button { width: 100%; font-size: 110%; margin-bottom: 10px; }
  .contactform form table th#spspace { padding: 15px 10px 40px; }
  /* 171107_お問い合わせページ（確認用）
-------------------------------------------------- */
  .confirm form table th, .confirm form table td { vertical-align: middle; padding: 12px 15px 10px; word-break: break-all; }
  .confirm form table th#spspace { padding: 15px 10px; }
  .confirm form table td .name_box { display: none; }
  /* 180529_あいさつ文追加
-------------------------------------------------- */
  #contents .atendtxt { min-width: inherit; width: 90%; margin: 30px auto; }
  #contents .atendtxt .details { font-size: 90%; text-align: left; }
  /* 200128_iosでのselect非表示対応
-------------------------------------------------- */
  .contactform form table td .company_box select, .contactform form table td .personal_box select { padding-right: 35px; }
  .contactform form input, .contactform form option, .contactform form textarea { font-size: 13.5px; } }

/******************************************************************
project - carousel-slick
******************************************************************/
.slick-slider { position: relative; display: block; box-sizing: border-box; user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }

.slick-list { position: relative; overflow: hidden; display: block; margin: 0; padding: 0; }

.slick-list.dragging { cursor: pointer; cursor: hand; }

.slick-slider .slick-track, .slick-slider .slick-list { transform: translate3d(0, 0, 0); }

.slick-track { position: relative; left: 0; top: 0; display: block; margin-left: auto; margin-right: auto; }

.slick-track:before, .slick-track:after { content: ""; display: table; }

.slick-track:after { clear: both; }

.slick-loading .slick-track { visibility: hidden; }

.slick-slide { float: left; height: 100%; min-height: 1px; display: none; }

.slick-slide.slick-loading img { display: none; }

.slick-slide.dragging img { pointer-events: none; }

.slick-initialized .slick-slide { display: block; }

.slick-loading .slick-slide { visibility: hidden; }

.slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent; }

.slick-arrow.slick-hidden { display: none; }

.slick-slide { line-height: 0; }

.slick-slide img { width: 100%; }

.slick-slide a { display: block; outline: 0; }

.slick-prev, .slick-next { position: absolute; top: 50%; transform: translate(0, -50%) translateZ(0); outline: none; overflow: hidden; text-indent: -999px; width: 30px; height: 30px; }

@media screen and (max-width: 736px) { .slick-prev, .slick-next { width: 20px; height: 20px; } }

.slick-prev { z-index: +1; left: 40px; position: relative; position: absolute; width: 60px; height: 60px; }

.slick-prev::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 0; left: 0; transform: translate(5px, 0) rotate(225deg); border-top: 10px solid #fff; border-right: 10px solid #fff; width: 40px; height: 40px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }

@media screen and (max-width: 736px) { .slick-prev { left: 0; position: relative; position: absolute; width: 30px; height: 100%; background-color: rgba(0, 0, 0, 0.2); }
  .slick-prev::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 0; left: 0; transform: translate(2px, 0) rotate(225deg); border-top: 3px solid #fff; border-right: 3px solid #fff; width: 14px; height: 14px; transition-property: top, right, bottom, left; transition-duration: 0.3s; } }

@media print, screen and (min-width: 737px) { .slick-prev { transition-property: transform; transition-duration: 0.3s; }
  .slick-prev:hover { transform: translate(-5px, -50%) translateZ(0); } }

.slick-next { right: 40px; position: relative; position: absolute; width: 60px; height: 60px; }

.slick-next::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 0; left: 0; transform: translate(-5px, 0) rotate(45deg); border-top: 10px solid #fff; border-right: 10px solid #fff; width: 40px; height: 40px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }

@media screen and (max-width: 736px) { .slick-next { right: 0; position: relative; position: absolute; width: 30px; height: 100%; background-color: rgba(0, 0, 0, 0.2); }
  .slick-next::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 0; left: 0; transform: translate(-2px, 0) rotate(45deg); border-top: 3px solid #fff; border-right: 3px solid #fff; width: 14px; height: 14px; transition-property: top, right, bottom, left; transition-duration: 0.3s; } }

@media print, screen and (min-width: 737px) { .slick-next { transition-property: transform; transition-duration: 0.3s; }
  .slick-next:hover { transform: translate(5px, -50%) translateZ(0); } }

/******************************************************************
utility - mediaQuery
******************************************************************/
.u-sp-media { display: none; }

@media screen and (max-width: 736px) { .u-pc-media { display: none; }
  .u-sp-media { display: block; }
  img.u-sp-media { display: inline-block; }
  br.u-sp-media { display: inline-block; }
  table.u-sp-media { display: table; } }

.u-se-media { display: none; }

/******************************************************************
utility - display
******************************************************************/
.u-block { display: block; }

.u-none { display: none; }

.u-inline { display: inline; }

.u-inline-block { display: inline-block; }

.u-table { display: table; }

.u-table-row { display: table-row; }

.u-table-cell { display: table-cell; }

.u-flex { display: flex; }

.u-inline-flex { display: inline-flex; }

@media screen and (max-width: 736px) { .u-sp-block { display: block; }
  .u-sp-none { display: none; }
  .u-sp-inline { display: inline; }
  .u-sp-inline-block { display: inline-block; }
  .u-sp-table { display: table; }
  .u-sp-table-row { display: table-row; }
  .u-sp-table-cell { display: table-cell; }
  .u-sp-flex { display: flex; }
  .u-sp-inline-flex { display: inline-flex; } }

/******************************************************************
utility - display-off
******************************************************************/
.u-display-off { position: absolute; width: 1px; height: 1px; margin: -1px; border: 0; overflow: hidden; padding: 0; clip: rect(0, 0, 0, 0); }

@media screen and (max-width: 736px) { .u-sp-display-off { position: absolute; width: 1px; height: 1px; margin: -1px; border: 0; overflow: hidden; padding: 0; clip: rect(0, 0, 0, 0); } }

/******************************************************************
utility - text-align
******************************************************************/
.u-center { text-align: center; }

.u-right { text-align: right; }

.u-left { text-align: left; }

@media screen and (max-width: 736px) { .u-sp-center { text-align: center; }
  .u-sp-right { text-align: right; }
  .u-sp-left { text-align: left; } }

/******************************************************************
utility - color
******************************************************************/
.u-color, .u-color:hover, .u-color a:hover { color: #00adb0; }

/******************************************************************
utility - over-opacity
******************************************************************/
.u-over-opacity { transition-property: opacity; transition-duration: 0.3s; }

.u-over-opacity:hover { opacity: 0.7; }

/******************************************************************
utility - icon-blank
******************************************************************/
.u-icon-blank { position: relative; padding-left: 14px; margin-left: 0.3em; margin-right: 0.3em; }

.u-icon-blank::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; left: 0; width: 14px; height: 11px; background: url("/recruit/shared/images/ic_other.png") no-repeat left center; }