@charset "utf-8";

/* font */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');
@import url('https://cdn.jsdelivr.net/npm/yakuhanjp@4.0.1/dist/css/yakuhanjp.css');

/* reset */
* { padding: 0; margin: 0; box-sizing: border-box; }
table { border-collapse: collapse; border-spacing: 0; }
fieldset, img { border: 0; }
address, caption, cite, code, dfn, em, var { font-style: normal; font-weight: 700; }
ol, ul { list-style: none; }
caption, th { text-align: left; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: 700; }
q:before, q:after { content: ''; }
abbr, acronym { border: 0; }
section, article { display: block; }

/* iOS reset */
input[type=text] { border:none; -webkit-border-radius : 0; -webkit-appearance : none; -webkit-tap-highlight-color : rgba(0,0,0,0); }
input[type="submit"],
input[type="button"] { border-radius: 0; -webkit-box-sizing: content-box; -webkit-appearance: button; appearance: button; border: none; box-sizing: border-box; cursor: pointer; }
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration { display: none; }
input[type="submit"]::focus,input[type="button"]::focus { outline-offset: -0.15em; }
select { -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; outline: none; background: transparent; }
button,input[type="submit"] { -webkit-appearance: none; -moz-appearance: none; appearance: none; padding: 0; border: none; outline: none; background: transparent; }
input[type="radio"] { display: none; }

/* base */
html { position: relative; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body { position: relative; -webkit-font-smoothing: auto; -webkit-font-feature-settings: 'palt'; font-feature-settings: 'palt'; word-wrap : break-word; overflow-wrap : break-word; font-kerning: normal; -webkit-font-kerning: normal;
  font-family: YakuHanJP, 'Zen Kaku Gothic New',YuGothic, 'Yu Gothic', '游ゴシック', '游ゴシック体', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  line-height: 1.5em; letter-spacing: 0; font-weight: 500; box-sizing: border-box; background-color: #ffffff; color: #007C36; padding: 0; margin: 0; -webkit-text-size-adjust: none; -webkit-font-smoothing: antialiased; }
img { vertical-align: bottom; height: auto; width: 100%; }
::selection { background: #007C36; color: #ffffff; }
::-moz-selection { background: #007C36; }

/* fadein */
.fadein { opacity : 0; transform: translateY(0); transition: all 0.6s; }
@keyframes fadeIn { 0% { opacity: 0 } 100% { opacity: 1 } }
@-webkit-keyframes fadeIn { 0% { opacity: 0 } 100% { opacity: 1 } }

/* link */
.cWrap a { transition: all 0.15s ease-in-out; }
.cWrap a:link,.cWrap a:hover,.cWrap a:active,.cWrap a:visited { color:#007C36 !important; text-decoration: none !important; }
.cWrap a[href^="tel:"] { pointer-events: none; }

/* options */
.pc { display:block; }
.sp { display:none; }
.sp_inline { display:none; }
.rl { -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }

/* br */
.br { display: inline-block; }
.br__pc { display:block; }
.br__sp { display:none; }

.cNavLeft { position: fixed; top:0; left:0; width:19.4%; }
.cNavRight { position: fixed; top:0; right:0; width:6%; }

/* flex */
.flex { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; }
.fill { object-fit: cover; font-family: 'object-fit: cover;'; }

/* cWrap */
.cWrap { background-color: #ffffff; position: relative; padding:0 0 0 0; min-width:1024px; max-width:1740px; min-height:100vh; margin:auto; }

/* cHeader */
.cHeader {  }
.cHeader .cHeader--tagline { position: fixed; top:4rem; left: 3rem; width:7.7rem; }
.cHeader .cHeader--title { position: fixed; bottom:3rem; left:4rem; width:5.5rem; z-index: 777; }
.cHeader .cHeader--pagetitle { top:4rem; left:5.75rem; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; font-size: 2rem; line-height: 1em; font-weight: 500; position: fixed; }
.terms .cHeader .cHeader--pagetitle,
.privacy .cHeader .cHeader--pagetitle { font-size: 1.6rem; left: 5.75rem; }

@media screen and (min-width: 1741px) {
body { background-color: #eeeeee; }
.cHeader .cHeader--tagline { left:calc((100vw - 1740px) / 2 + 3rem); }
.cHeader .cHeader--title { left:calc((100vw - 1740px) / 2 + 4rem); }
.cHeader .cHeader--pagetitle { left:calc((100vw - 1740px) / 2 + 5.75rem); }
.terms .cHeader .cHeader--pagetitle,
.privacy .cHeader .cHeader--pagetitle { left: calc((100vw - 1740px) / 2 + 5.75rem); }
}

@media screen and (max-height: 45rem) {
.cHeader { position: relative; top:0; left:0; }
.cHeader .cHeader--title { position: absolute; top:22rem; left: 4rem; bottom: auto; }
.cHeader .cHeader--pagetitle { position: absolute; left: 5.75rem; white-space: nowrap; }
.cHeader .cHeader--tagline { position: absolute; left: 3rem; }
}

/* cMain */
.cMain { position: relative; padding: 2rem 2rem 0 14rem;}
.cMain .cMain__inner { padding:0 7rem 0 5rem; }
.cMain .cMain__photo--fit { height:calc( 100vh - 4rem ); min-height: 40rem; max-height: 50rem; }
.home .cMain .cMain__photo--fit { max-height: 50rem; }
.cMain .cMain__photo--fit img { object-fit: cover; width:100%; height:100%; }
.cMain .cMain__btn { width: 100%; margin:5rem 0; }
.cMain .cMain__btn a { display:block; width:100%; font-size: 1.5rem; line-height: 1em; border:solid 1px #007C36;  padding:1em; text-align: center; }
.cMain .cMain__btn a:hover { background-color: #007C36; color:#fff !important; }

/* cMain__home */
.cMain .cMain__home__sec { margin:3rem 0; display:flex; justify-content: space-between; align-items: flex-start; }
.cMain .cMain__home__sec .cMain__home__sec--txt { width:70%; }
.cMain .cMain__home__sec .cMain__home__sec--txt p { font-size: 1.5rem; line-height: 1.8em; letter-spacing: -0.03em; color:#333; text-align: justify; }
.cMain .cMain__home__sec .cMain__home__sec--btn a { font-size: 1.5rem; line-height: 1.8em; display:flex; align-items: center; }
.cMain .cMain__home__sec .cMain__home__sec--btn a .btn--angle img { display:block; height:0.75em; width:auto; margin:0 0.5em 0 0; }

.cMain .cMain__home__nav { display:flex; justify-content: space-between; align-items: flex-start; margin:4rem 0; }
.cMain .cMain__home__nav .cMain__home__nav--item { width:calc(33.333% - 1.25rem); }
.cMain .cMain__home__nav .cMain__home__nav--item .cMain__home__nav--title { font-size: 1.5rem; line-height: 1em; margin:1em 0 0.5em 0; padding:0 1rem; display:flex; align-items: center; }
.cMain .cMain__home__nav .cMain__home__nav--item .cMain__home__nav--title .btn--angle img { display:block; height:0.75em; width:auto; margin:0 0.5em 0 0; }
.cMain .cMain__home__nav .cMain__home__nav--item .cMain__home__nav--sub { font-size: 1rem; line-height: 1em; padding:0 1rem 0 2.5rem; color:#333; }

.cMain .cMain__home__info { border:solid 1px #007C36; display:flex; justify-content: space-between; align-items: stretch; margin:4rem 0; }
.cMain .cMain__home__info .cMain__home__info__news { width:40%; display:flex; justify-content: flex-start; }
.cMain .cMain__home__info .cMain__home__info__news .cMain__home__info__news--head { font-size: 1.4rem; line-height: 2em; border-right: solid 1px #007C36; display:flex; align-items: center; justify-content: center; }
.cMain .cMain__home__info .cMain__home__info__news .cMain__home__info__news--body ul { padding:2rem; }
.cMain .cMain__home__info .cMain__home__info__news .cMain__home__info__news--body ul li { margin:0 0 1.25em 0; }
.cMain .cMain__home__info .cMain__home__info__news .cMain__home__info__news--body ul li:last-child { margin:0 0 0 0; }
.cMain .cMain__home__info .cMain__home__info__news .cMain__home__info__news--body ul li a { display:flex; flex-direction: column; }
.cMain .cMain__home__info .cMain__home__info__notes { width: 60%; display:flex; justify-content: flex-start; }
.cMain .cMain__home__info .cMain__home__info__notes .cMain__home__info__notes--head { font-size: 1.4rem; line-height: 2em; border-left: solid 1px #007C36; border-right: solid 1px #007C36; display:flex; align-items: center; justify-content: center; }
.cMain .cMain__home__info .cMain__home__info__notes--body a { display:flex; justify-content: flex-start; }
.cMain .cMain__home__info .cMain__home__info__notes--body a img { width:40%; }
.cMain .cMain__home__info .cMain__home__info__notes--body a .cMain__home__info--ex { padding: 2rem; display: flex; flex-direction: column; }
.cMain .cMain__home__info .cMain__home__info--title { font-size: 1.2rem; line-height: 1.4em; margin:0 0 0.5em 0; }
.cMain .cMain__home__info .cMain__home__info--date { font-size: 1rem; line-height: 1em; letter-spacing: 0.05em; padding:0 0 0 0.15em; color:#333; }

/* cMain__about */
.cMain .cMain__about { display:flex; justify-content: space-between; align-items: center; margin:5rem 0; padding:0 2rem 0 0; }
.cMain .cMain__about .cMain__about__txt { width: 50%; padding: 0 4rem; }
.cMain .cMain__about .cMain__about__txt h2 { font-size: 1.5rem; line-height: 1.8em; margin:2em 0 1em 0; }
.cMain .cMain__about .cMain__about__txt h2:first-child { margin:0 0 1em 0; }
.cMain .cMain__about .cMain__about__txt p { font-size: 1.3rem; line-height: 1.8em; letter-spacing: -0.03em; color:#333; text-align: justify; margin:0 0 2em 0; }
.cMain .cMain__about .cMain__about__txt.cMain__about__lead { padding: 0 6rem; }
.cMain .cMain__about .cMain__about__txt.cMain__about__lead p { font-size: 1.5rem; }
.cMain .cMain__about .cMain__about__point { border-top: solid 1px #007C36; }
.cMain .cMain__about .cMain__about__point li { border-bottom:solid 1px #007C36; display:flex; justify-content: flex-start; padding:1em 0; font-size: 1.4rem; line-height: 1.8em; color:#333; }
.cMain .cMain__about .cMain__about__point li::before { margin:0 2rem 0 0; font-size: 4rem; line-height: 1em; font-weight: 100; color: #007C36; }
.cMain .cMain__about .cMain__about__point li:nth-child(1)::before { content:"1"; }
.cMain .cMain__about .cMain__about__point li:nth-child(2)::before { content:"2"; }
.cMain .cMain__about .cMain__about__point li:nth-child(3)::before { content:"3"; }
.cMain .cMain__about .cMain__about__photo { width:50%; }
.cMain .cMain__about .cMain__about__photo picture img { margin:0 0 2em 0; }
.cMain .cMain__about .cMain__about__photo picture:last-child img { margin:0 0 0 0; }
.cMain .cMain__about .cMain__about__photo .cMain__about__photo--fig { padding:1.5rem 3.5rem; }

/* cMain__head */
.cMain .cMain__head { display:flex; justify-content: space-between; align-items: flex-start; margin:5rem auto; padding: 0 0 0 4rem; }
.cMain .cMain__head .cMain__head__nav { width:42%; margin:0.5em 0; }
.cMain .cMain__head .cMain__head__nav li { }
.cMain .cMain__head .cMain__head__nav li a { border-top: solid 1px #007C36; padding:1em; display:flex; justify-content: space-between; align-items: center; }
.cMain .cMain__head .cMain__head__nav li:last-child a { border-bottom: solid 1px #007C36; }
.cMain .cMain__head .cMain__head__nav li a .btn--angle img { height:0.75rem; width:auto; margin:0 0 0.25em 0; }
.cMain .cMain__head .cMain__head__nav li a .cMain__head__nav--title { width:90%; display:flex; justify-content: space-between; }
.cMain .cMain__head .cMain__head__nav li a .cMain__head__nav--title .cMain__head__nav--sub { color:#333; font-size: 1.2rem; }
.cMain .cMain__head .cMain__head__nav li a .cMain__head__nav--title .cMain__head__nav--main { font-size: 1.4rem; line-height: 1em; }
.cMain .cMain__head .cMain__head__lead { width: 50%; padding: 0 7rem 0 0; }
.cMain .cMain__head .cMain__head__lead p { font-size: 1.3rem; line-height: 1.8em; color:#333; text-align: justify; }
.cMain .cMain__head .cMain__head__photo { width: 50%; }

/* cMain__quality */
.cMain .cMain__quality { display:flex; justify-content: space-between; align-items: stretch; flex-wrap: wrap; border-top: solid 1px #007C36; border-bottom:solid 1px #007C36; border-left: solid 1px #007C36; margin:0 0 5rem 0; }
.cMain .cMain__quality h2 { width:100%; text-align: center; font-size: 1.5rem; line-height: 1.5em; padding:0.5em 0; border-right: solid 1px #007C36; }
.cMain .cMain__quality .cMain__quality__item { width:50%; padding:3.5rem 5rem 1rem 5rem; border-top: solid 1px #007C36; border-right: solid 1px #007C36; display: flex; flex-direction: column; justify-content: flex-start; }
.cMain .cMain__quality .cMain__quality__item h3 { font-size: 1.5rem; line-height: 1.6em; margin:0 0 0.75em 0; }
.cMain .cMain__quality .cMain__quality__item h3 span { font-size: 2.2rem; font-weight: 400; display: inline-block; margin:0 0.35em 0 -0.2em; }
.cMain .cMain__quality .cMain__quality__item p { font-size: 1.2rem; line-height: 1.8em; color:#333; text-align: justify; margin:0 0 0 0; }
.cMain .cMain__quality .cMain__quality__item figure { margin:1em 0 0 0; display: flex; justify-content: space-between; align-items: center; }
.cMain .cMain__quality .cMain__quality__item figure.figlink { margin: 2.5em 0 0 0; }
.cMain .cMain__quality .cMain__quality__item figure.figlink img { width:35%; }
.cMain .cMain__quality .cMain__quality__item figure.figlink figcaption { width:55%; }
.cMain .cMain__quality .cMain__quality__item figure.figlink figcaption li { display:flex; justify-content: flex-start; align-items: center; margin:0.55em 0; font-size: 1.2rem; line-height: 1.5em; }
.cMain .cMain__quality .cMain__quality__item figure.figlink figcaption li a { cursor:pointer; }
.cMain .cMain__quality .cMain__quality__item figure.figlink figcaption li .btn--angle img { height:1rem; width:auto; margin:0 0.5em 0.25em 0; }
.cMain .cMain__quality .cMain__quality__item figure.figlink figcaption li .btn--title { font-size: 1.2rem; line-height: 1em; }

/* cMain__service */
.cMain .cMain__service { display:flex; justify-content: space-between; align-items: center; border-top:solid 1px #007C36; padding:2rem 0; margin:0 0 0 4rem; }
.cMain .cMain__service .cMain__service__txt { width:40%; padding:0 4rem 0 0; }
.cMain .cMain__service .cMain__service__txt .cMain__service__txt--sub { font-size: 1.1rem; line-height: 1em; margin:0 0 1em 0; color:#333; }
.cMain .cMain__service .cMain__service__txt .cMain__service__txt--title { font-size: 1.5rem; line-height: 1.5em; margin:1em 0 1.5em 0; }
.cMain .cMain__service .cMain__service__txt .cMain__service__txt--ex { font-size: 1.2rem; line-height: 1.7em; text-align: justify; color:#333; }
.cMain .cMain__service .cMain__service__txt .cMain__service__txt--ex p { margin:0 0 1em 0; }
.cMain .cMain__service .cMain__service__txt .cMain__service__txt--app { font-size: 1.1rem; line-height: 1.6em; border:solid 1px #007C36; padding:1rem 1.5rem; margin:2rem 0 0 0; }
.cMain .cMain__service .cMain__service__photo { width: 60%; }
.cMain .cMain__service .cMain__service__photo img { margin:1rem 0; }
.cMain .cMain__service__menu { display:flex; justify-content: space-between; align-items: center; border-top:solid 1px #007C36; padding:4rem 0; margin:0 0 0 4rem; }
.cMain .cMain__service__menu .cMain__service__menu__txt { width:38%; }
.cMain .cMain__service__menu .cMain__service__menu__txt h2 { width:100%; font-size: 1.5rem; line-height: 1.8em; margin:0 0 1em 0; }
.cMain .cMain__service__menu .cMain__service__menu__txt p { font-size: 1.2rem; line-height: 1.8em; text-align: justify; color:#333; }
.cMain .cMain__service__menu .cMain__service__menu__sample { width:55%; padding:0 6rem 0 0; }
.cMain .cMain__service__menu .cMain__service__menu__sample dl { display:flex; justify-content: space-between; align-items: stretch; flex-wrap: wrap; border-top:solid 1px #007C36; border-left: solid 1px #007C36; border-right: solid 1px #007C36; margin:0 0 1em 0; }
.cMain .cMain__service__menu .cMain__service__menu__sample dl dt { width: 15%; font-size: 1.5rem; line-height: 1em; font-weight: 500; display:flex; align-items: center; justify-content: center; border-bottom: solid 1px #007C36; border-right: solid 1px #007C36; }
.cMain .cMain__service__menu .cMain__service__menu__sample dl dd { width: 85%; padding: 1rem 2rem; font-size: 1.2rem; line-height: 1.6em; color:#333; border-bottom: solid 1px #007C36; }
.cMain .cMain__service__menu .cMain__service__menu__sample .cap { display:block; font-size: 1rem; line-height: 1.5em; color:#333; text-align: right; }

/* cMain__recruitment */
.cMain .cMain__recruitment { display:flex; justify-content: space-between; align-items: center; }
.cMain .cMain__recruitment .cMain__recruitment__txt { width: 45%; padding: 0 4rem; }
.cMain .cMain__recruitment .cMain__recruitment__txt h2 { width:100%; font-size: 1.5rem; line-height: 1.8em; margin:0 0 1em 0; }
.cMain .cMain__recruitment .cMain__recruitment__txt p { font-size: 1.2rem; line-height: 1.8em; text-align: justify; color:#333; }
.cMain .cMain__recruitment .cMain__recruitment__photo { width:50%; }
.cMain .cMain__recruitment__program { border-top: solid 1px #007C36; border-left: solid 1px #007C36; border-right: solid 1px #007C36; margin:4rem 0; }
.cMain .cMain__recruitment__program__item { display:flex; justify-content: space-between; align-items: center; padding:2.5rem 7rem 2.5rem 4rem; border-bottom:solid 1px #007C36; }
.cMain .cMain__recruitment__program__item .cMain__recruitment__program__item__txt { width:45%; }
.cMain .cMain__recruitment__program__item .cMain__recruitment__program__item__txt h3 { width:100%; font-size: 1.5rem; line-height: 1.8em; margin:0 0 0.5em 0; }
.cMain .cMain__recruitment__program__item .cMain__recruitment__program__item__txt p { font-size: 1.2rem; line-height: 1.8em; text-align: justify; color:#333; }
.cMain .cMain__recruitment__program__item .cMain__recruitment__program__item__fig { width:45%; }
.cMain .cMain__recruitment__voice { border:solid 1px #007C36; }
.cMain .cMain__recruitment__voice img { padding: 4rem 5rem 0 4rem; }
.cMain .cMain__recruitment__voice h2 {  width:100%; font-size: 1.5rem; line-height: 1em; padding: 4rem 5rem 0 4rem; }
.cMain .cMain__recruitment__voice p { font-size: 1.2rem; line-height: 1.8em; text-align: justify; color:#333; }
.cMain .cMain__recruitment__voice p.credit { text-align: right; color:#007C36; margin:1em 0 0 0; }
.cMain .cMain__recruitment__voice .cMain__recruitment__voice--item { border-bottom: solid 1px #007C36; width:100%; margin:0 0 0 0; padding: 3rem 5rem 3rem 4rem; }
.cMain .cMain__recruitment__voice .cMain__recruitment__voice--item:last-child { border-bottom: none; }

/* cMain__company */
.cMain .cMain__company__info { margin: 4rem 0; }
.cMain .cMain__company__info p { font-size: 1.3rem; line-height: 1.8em; text-align: justify; color:#333; margin-bottom:1.5em; }
.cMain .cMain__company__message { display:flex; flex-wrap: wrap; justify-content: space-between; margin:4rem 0; }
.cMain .cMain__company__message h2 { width:100%; font-size: 1.8rem; line-height: 1.5em; margin:1em 0 1em 0; }
.cMain .cMain__company__message p { font-size: 1.2rem; line-height: 1.8em; text-align: justify; color:#333; }
.cMain .cMain__company__message .cMain__company__message--left { width:65%; }
.cMain .cMain__company__message .cMain__company__message--right { width:20%; padding:0.5rem 0 0 0; }
.cMain .cMain__company__message .cMain__company__message--right figcaption { font-size: 1.2rem; line-height: 1.8em; margin:1rem 0 0 0; }
.cMain .cMain__company__outline { display:flex; flex-wrap: wrap; justify-content: space-between; margin:4rem 0; }
.cMain .cMain__company__outline h2 { width:100%; font-size: 1.8rem; line-height: 1.5em; margin:1em 0 1em 0; }
.cMain .cMain__company__outline .cMain__company__outline__info { width:45%; }
.cMain .cMain__company__outline .cMain__company__outline__info--body table tbody tr { width:100%; height:auto !important; display: flex; justify-content: space-between; flex-wrap: wrap; }
.cMain .cMain__company__outline .cMain__company__outline__info--body table tbody tr th { width: 23% !important; height: auto !important; font-weight: 500; font-size: 1rem; line-height: 1.5em; padding: 0.2em 0; }
.cMain .cMain__company__outline .cMain__company__outline__info--body table tbody tr td { width: 72% !important; height: auto !important; color:#333; font-size: 1rem; line-height: 1.5em; text-align: justify; padding:0.2em 0; }
.cMain .cMain__company__outline .cMain__company__outline__info--body table tbody tr td p { margin:0 0 0.35em 0; }
.cMain .cMain__company__outline .cMain__company__outline__info--body table tbody tr td p:last-child { margin: 0 0 0 0; }
.cMain .cMain__company__outline .cMain__company__outline__history { width:45%; }
.cMain .cMain__company__outline .cMain__company__outline__history--body table tbody tr { width:100%; height: auto !important; display: flex; justify-content: space-between; flex-wrap: wrap; }
.cMain .cMain__company__outline .cMain__company__outline__history--body table tbody tr th { width: 23% !important; height: auto !important; font-weight: 500; font-size: 1rem; line-height: 1.5em; padding: 0.2em 0; }
.cMain .cMain__company__outline .cMain__company__outline__history--body table tbody tr td { width: 72% !important; height: auto !important; color:#333; font-size: 1rem; line-height: 1.5em; text-align: justify; padding:0.2em 0; }
.cMain .cMain__company__owner { margin:3rem 0; border: solid 1px #007C36; display:flex; justify-content: space-between; align-items: stretch; }
.cMain .cMain__company__owner h2 { font-size: 1.2rem; line-height: 1em; padding:0 1em; border-right: solid 1px #007C36; display:flex; justify-content: center; align-items: center; }
.cMain .cMain__company__owner .cMain__company__owner--body { width:100%; padding:2rem; font-size: 1.1rem; line-height: 1.8em; }
.cMain .cMain__company__recruitment { margin:3rem 0; }
.cMain .cMain__company__recruitment h2 { width:100%; font-size: 1.8rem; line-height: 1.5em; margin:1em 0 1em 0; }
.cMain .cMain__company__recruitment .cMain__company__recruitment--body { color:#333; }
.cMain .cMain__company__recruitment .cMain__company__recruitment--body table { border-top:solid 1px #007C36; margin:2rem 0 0.5rem 0; }
.cMain .cMain__company__recruitment .cMain__company__recruitment--body table th { font-size: 1.2rem; line-height: 1.5em; font-weight: 500; border-bottom:solid 1px #007C36; padding: 0.5em 0; }
.cMain .cMain__company__recruitment .cMain__company__recruitment--body table td { font-size: 1.2rem; line-height: 1.5em; border-bottom:solid 1px #007C36; color:#007C36; padding:0.5em 0; }

/* cMain__common */
.cMain .cMain__common { border:solid 1px #007C36; padding:5rem 7rem 5rem 5rem; min-height: calc(100vh - 12rem); }
.cMain .cMain__common h2 { font-size: 1.5rem; line-height: 1.5em; font-weight: 500; margin:2em 0 1em 0; }
.cMain .cMain__common h2:first-child { margin:0 0 1em 0; }
.cMain .cMain__common p { font-size: 1.15rem; line-height: 1.8em; color:#333; text-align: justify; }
.cMain .cMain__common .cMain__common__head { display:flex; justify-content: space-between; }
.cMain .cMain__common .cMain__common__head .cMain__common__head--date { color:#333; font-size: 1rem; line-height: 1em; letter-spacing: 0.05em; }
.cMain .cMain__common .cMain__common__nav { margin:4rem 0 0 0 ; }
.cMain .cMain__common .cMain__common__nav li { width:100%; }
.cMain .cMain__common .cMain__common__nav li a { width:100%; display:flex; justify-content: space-between; align-items: center; font-size: 1.2rem; line-height: 1.4em; border-bottom: solid 1px #007C36; padding:1em; }
.cMain .cMain__common .cMain__common__nav li:first-child a { border-top:solid 1px #007C36; }
.cMain .cMain__common .cMain__common__nav li a img { width:auto; height:2rem; margin:0; padding:0; }
.cMain .cMain__common .cMain__common__nav li a:hover { background-color: #E7F1E8; }

.cMain .cMain__common .cMain__common__body h1:first-child,
.cMain .cMain__common .cMain__common__body h2:first-child,
.cMain .cMain__common .cMain__common__body h3:first-child,
.cMain .cMain__common .cMain__common__body h4:first-child,
.cMain .cMain__common .cMain__common__body h5:first-child,
.cMain .cMain__common .cMain__common__body h6:first-child { margin:0 0 0.5em 0; }
.cMain .cMain__common .cMain__common__body h1 { font-size: 1.5rem; line-height: 1.5em; margin:1.5em 0 0.5em 0; }
.cMain .cMain__common .cMain__common__body h2 { font-size: 1.5rem; line-height: 1.5em; margin:1.5em 0 0.5em 0; }
.cMain .cMain__common .cMain__common__body h3 { font-size: 1.4rem; line-height: 1.5em; margin:1.5em 0 0.5em 0; }
.cMain .cMain__common .cMain__common__body h4 { font-size: 1.3rem; line-height: 1.5em; margin:1.5em 0 0.5em 0; }
.cMain .cMain__common .cMain__common__body h5 { font-size: 1.2rem; line-height: 1.5em; margin:1.5em 0 0.5em 0; }
.cMain .cMain__common .cMain__common__body h6 { font-size: 1.1rem; line-height: 1.5em; margin:1.5em 0 0.5em 0; }
.cMain .cMain__common .cMain__common__body p { font-size: 1.2rem; font-weight: 500; line-height: 1.8em; margin:0 0 1em 0; text-align: justify; }
.cMain .cMain__common .cMain__common__body p:last-child { margin-bottom:0; }
.cMain .cMain__common .cMain__common__body img { margin:2rem 0; }
.cMain .cMain__common .cMain__common__body ul { margin:3rem 0 3rem 0; }
.cMain .cMain__common .cMain__common__body ol { margin:3rem 0 3rem 2rem; list-style: decimal; }
.cMain .cMain__common .cMain__common__body ul li,
.cMain .cMain__common .cMain__common__body ol li { font-size: 1.4em; line-height: 1.4; margin:1rem 0; }
.cMain .cMain__common .cMain__common__body ul li a,
.cMain .cMain__common .cMain__common__body ol li a { display:inline; padding:0; }
.cMain .cMain__common .cMain__common__body ul li a::after,
.cMain .cMain__common .cMain__common__body ol li a::after { content: ""; }
.cMain .cMain__common .cMain__common__body ul li a:hover,
.cMain .cMain__common .cMain__common__body ol li a:hover { background-color: #333; color:#fff; }
.cMain .cMain__common .cMain__common__body blockquote { border-left:solid 1px #333; border-right:solid 1px #333; padding:0 3rem; margin:3rem 0; }
.cMain .cMain__common .cMain__common__body blockquote h1,
.cMain .cMain__common .cMain__common__body blockquote h2,
.cMain .cMain__common .cMain__common__body blockquote h3,
.cMain .cMain__common .cMain__common__body blockquote h4,
.cMain .cMain__common .cMain__common__body blockquote h5,
.cMain .cMain__common .cMain__common__body blockquote h6,
.cMain .cMain__common .cMain__common__body blockquote p { margin-left:0; }
.cMain .cMain__common .cMain__common__body table { border-top:solid 1px #333; border-left:solid 1px #333; width:100%; }
.cMain .cMain__common .cMain__common__body table th { border-right:solid 1px #333; border-bottom:solid 1px #333; padding:1rem; }
.cMain .cMain__common .cMain__common__body table td { border-right:solid 1px #333; border-bottom:solid 1px #333; padding:1rem; }
.cMain .cMain__common .cMain__common__body strong { font-weight:900; }
.cMain .cMain__common .cMain__common__body em { font-style: italic; }
.cMain .cMain__common .cMain__common__body .aligncenter,
.cMain .cMain__common .cMain__common__body .wp-caption { width:100% !important; margin:3rem 0; }
.cMain .cMain__common .cMain__common__body .alignleft,
.cMain .cMain__common .cMain__common__body .wp-caption.alignleft { float: left; width:45% !important; margin:0.5rem 3rem 3rem 0 !important; }
.cMain .cMain__common .cMain__common__body .alignright,
.cMain .cMain__common .cMain__common__body .wp-caption.alignright { float: right; width:45% !important; margin:0.5rem 0 3rem 3rem !important; }
.cMain .cMain__common .cMain__common__body a { text-decoration: underline; color:#007C36; }
.cMain .cMain__common .cMain__common--article { border-bottom:solid 1px #007C36; padding:0 0 2rem 0; margin:0 0 2rem 0; }
.cMain .cMain__common .cMain__common--article:last-of-type { margin:0; }

/* cMain__application */
.cMain .cMain__application__wanted { display:flex; justify-content: space-between; margin:5rem 0; padding:0 5rem 0 0; }
.cMain .cMain__application__wanted .cMain__application__wanted__graduates { width:48%; border-top:solid 1px #007C36; }
.cMain .cMain__application__wanted h2 { font-size: 1.4rem; line-height: 1.5em; text-align: center; padding:1em 0; }
.cMain .cMain__application__wanted .cMain__application__wanted__careers { width:48%; border-top: solid 1px #007C36; }
.cMain .cMain__application__wanted .cMain__application__wanted--body { border-top: solid 1px #007C36; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details summary { display:flex; justify-content: space-between; align-items: center; cursor: pointer; font-size: 1.4rem; line-height: 1.5em; padding:1.5rem; border-bottom: solid 1px #007C36; border-right: solid 1px #007C36; border-left: solid 1px #007C36; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details summary .btn--angle img { height:1.5rem; width:auto; margin:0 0 0.2em 0.5em; transition: transform 0.3s ease; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details[open] summary .btn--angle img { transform: rotate(90deg); transition: transform 0.3s ease; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details summary::marker,
.cMain .cMain__application__wanted .cMain__application__wanted--body details summary div { display:none !important; color:#ffffff; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details summary::-webkit-details-marker { display: none; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item { font-size: 1rem; line-height: 1.7em; background-color: #E7F1E8; padding: 2rem; border-bottom: solid 1px #007C36; border-right: solid 1px #007C36; border-left: solid 1px #007C36; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item h1:first-child,
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item h2:first-child,
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item h3:first-child,
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item h4:first-child,
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item h5:first-child,
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item h6:first-child { margin:0 0 0.5em 0; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item h1 { font-size: 1.5rem; line-height: 1.5em; margin:1.5em 0 0.5em 0; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item h2 { font-size: 1.4rem; line-height: 1.5em; margin:1.5em 0 0.5em 0; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item h3 { font-size: 1.3rem; line-height: 1.5em; margin:1.5em 0 0.5em 0; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item h4 { font-size: 1.2rem; line-height: 1.5em; margin:1.5em 0 0.5em 0; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item h5 { font-size: 1.1rem; line-height: 1.5em; margin:1.5em 0 0.5em 0; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item h6 { font-size: 1rem; line-height: 1.5em; margin:1.5em 0 0.5em 0; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item p { font-size: 1.1rem; font-weight: 500; line-height: 1.8em; margin:0 0 1em 0; text-align: justify; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item p:last-child { margin-bottom:0; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item img { margin:2rem 0; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item ul { margin:3rem 0 3rem 0; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item ol { margin:3rem 0 3rem 2rem; list-style: decimal; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item ul li,
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item ol li { font-size: 1.4em; line-height: 1.4; margin:1rem 0; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item ul li a,
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item ol li a { display:inline; padding:0; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item ul li a::after,
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item ol li a::after { content: ""; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item ul li a:hover,
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item ol li a:hover { background-color: #333; color:#fff; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item blockquote { border-left:solid 1px #333; border-right:solid 1px #333; padding:0 3rem; margin:3rem 0; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item blockquote h1,
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item blockquote h2,
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item blockquote h3,
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item blockquote h4,
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item blockquote h5,
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item blockquote h6,
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item blockquote p { margin-left:0; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item table { border-top:solid 1px #333; border-left:solid 1px #333; width:100%; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item table th { border-right:solid 1px #333; border-bottom:solid 1px #333; padding:1rem; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item table td { border-right:solid 1px #333; border-bottom:solid 1px #333; padding:1rem; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item strong { font-weight:900; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item em { font-style: italic; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item .aligncenter,
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item .wp-caption { width:100% !important; margin:3rem 0; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item .alignleft,
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item .wp-caption.alignleft { float: left; width:45% !important; margin:0.5rem 3rem 3rem 0 !important; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item .alignright,
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item .wp-caption.alignright { float: right; width:45% !important; margin:0.5rem 0 3rem 3rem !important; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item a { text-decoration: underline; color:#007C36; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item .cMain__application__wanted--btn a { display:block; background-color: #007C36; text-align: center; color:#fff !important; font-size: 1.4rem; line-height: 1em; padding:0.75em; margin:1em 0 0 0; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details .cMain__application__wanted--item .cMain__application__wanted--btn a:hover { background-color: #fff; color:#007C36 !important; }
.cMain .cMain__application__info { padding:1.5rem 5rem; display: flex; justify-content: flex-start; border-top: solid 1px #007C36; border-bottom: solid 1px #007C36; }
.cMain .cMain__application__info h3 { font-size: 1.4rem; line-height: 1.7em; margin:0 4em 0 0; }
.cMain .cMain__application__info p {font-size: 1.2rem; line-height: 1.7em; color:#333; }

/* cMain__contact */
.cMain .cMain__contact { display:flex; justify-content: space-between; padding:5rem 0; }
.cMain .cMain__contact .cMain__contact__head { width:25%; }
.cMain .cMain__contact .cMain__contact__head h2 { font-size: 1.5rem; line-height: 1em; font-weight: 600; margin:0 0 1em 0; }
.cMain .cMain__contact .cMain__contact__head p { font-size: 1.1rem; line-height: 1.8em; text-align: justify; color:#333; }
.cMain .cMain__contact .cMain__contact__form { width:65%; }
.cMain .cMain__contact .cMain__contact__form dt { display:flex; justify-content: space-between; align-items: center; padding: 0 0 0.5rem 0; }
.cMain .cMain__contact .cMain__contact__form dt .cMain__contact__form--title { font-size: 1rem; line-height: 1em; font-weight: 600; }
.cMain .cMain__contact .cMain__contact__form dt .cMain__contact__nes { border-radius: 0.25rem; font-size: 0.75rem; line-height: 1em; border: solid 1px #007C36; background-color: #007C36; color:#ffffff; padding:0.35em; }
.cMain .cMain__contact .cMain__contact__form dt .cMain__contact__opt { border-radius: 0.25rem; font-size: 0.75rem; line-height: 1em; border: solid 1px #007C36; background-color: #ffffff; color:#007C36; padding:0.35em; }
.cMain .cMain__contact .cMain__contact__form dd { padding:0 0 1.5rem 0; }
.cMain .cMain__contact .cMain__contact__form select { border-radius: 0.25rem; font-size: 1rem; line-height: 1.5em; font-weight: 600; padding:0.75em 1em; border:solid 1px #007C36; display:block; width: 100% !important; }
.cMain .cMain__contact .cMain__contact__form input[type="email"],
.cMain .cMain__contact .cMain__contact__form input[type="text"] { color:#333; font-family:YakuHanJP, 'Zen Kaku Gothic New',YuGothic, 'Yu Gothic', '游ゴシック', '游ゴシック体', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif !important; border-radius: 0.25rem; font-size: 1.1rem; line-height: 1.5em; padding:0.75em; border:solid 1px #007C36; display:block; width: 100% !important;}
.cMain .cMain__contact .cMain__contact__form dd.cMain__contact__sex { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; }
.cMain .cMain__contact .cMain__contact__form dd.cMain__contact__sex label { width: 48%; font-size: 1.1rem; line-height: 1em; text-align: center; background-color: #E7F1E8; border-radius: 0.5rem; padding: 1em 2em; cursor: pointer; transition: background-color 0.3s ease; }
.cMain .cMain__contact .cMain__contact__form dd.cMain__contact__sex input[type="radio"] { display: none; }
.cMain .cMain__contact .cMain__contact__form dd.cMain__contact__sex input[type="radio"]:checked + label { position: relative; background-color: #007C36; color: white; }
.cMain .cMain__contact .cMain__contact__form dd.cMain__contact__sex label:hover { background-color: #007C36; color: white; }
.cMain__contact__sex,
.cMain__contact__job,
.cMain__contact__qualifications,
.cMain__contact__contact { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0; }
.cMain__contact__sex label,
.cMain__contact__job label,
.cMain__contact__qualifications label,
.cMain__contact__contact label { flex: 1 0 calc(50% - 1rem); font-size: 1.1rem; line-height: 1.2em; text-align: center; background-color: #E7F1E8; border-radius: 0.25rem; padding: 0.8em 1em; cursor: pointer; transition: background-color 0.3s ease; }
.cMain__contact__sex input[type="radio"],
.cMain__contact__job input[type="radio"],
.cMain__contact__qualifications input[type="checkbox"],
.cMain__contact__contact input[type="radio"] { display: none; }
.cMain__contact__sex input[type="radio"]:checked+label,
.cMain__contact__job input[type="radio"]:checked+label,
.cMain__contact__qualifications input[type="checkbox"]:checked+label,
.cMain__contact__contact input[type="radio"]:checked+label,
.cMain__contact__sex input[type="radio"]:checked+input+label,
.cMain__contact__job input[type="radio"]:checked+input+label,
.cMain__contact__qualifications input[type="checkbox"]:checked+input+label,
.cMain__contact__contact input[type="radio"]:checked+input+label { position: relative; background-color: #007C36 !important; color: #ffffff !important; }
.cMain__contact__sex label:hover,
.cMain__contact__job label:hover,
.cMain__contact__qualifications label:hover,
.cMain__contact__contact label:hover { background-color: #007C36; color: #ffffff; }
.cMain__contact__qualifications input[type="text"] { color:#333; font-family: YakuHanJP, 'Zen Kaku Gothic New',YuGothic, 'Yu Gothic', '游ゴシック', '游ゴシック体', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif !important; width: 100%; padding: 0.8em 1em; margin-top: 0.5rem; border: 1px solid #007C36; border-radius: 0.25rem; font-size: 1.1rem; }

.cMain .cMain__contact .cMain__contact__form dd.cMain__contact__sex input[type="radio"]:checked + label::before,
.cMain__contact__sex input[type="radio"]:checked+label::before,
.cMain__contact__job input[type="radio"]:checked+label::before,
.cMain__contact__qualifications input[type="checkbox"]:checked+label::before,
.cMain__contact__contact input[type="radio"]:checked+label::before,
.cMain__contact__sex input[type="radio"]:checked+input+label::before,
.cMain__contact__job input[type="radio"]:checked+input+label::before,
.cMain__contact__qualifications input[type="checkbox"]:checked+label::before,
.cMain__contact__qualifications input[type="checkbox"]:checked+input+label::before,
.cMain__contact__contact input[type="radio"]:checked+input+label::before {  }

.cMain .cMain__contact .cMain__contact__form dd .cap { color:#007C36; display:block; font-size: 0.9rem;  line-height: 1.4em; margin:0.5em 0 0 0; }
.cMain .cMain__contact .cMain__contact__form textarea { color: #333; font-family: YakuHanJP, 'Zen Kaku Gothic New',YuGothic, 'Yu Gothic', '游ゴシック', '游ゴシック体', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif !important; border-radius: 0.25rem; font-size: 1.1rem; line-height: 1.5em; padding:0.75em; border:solid 1px #007C36; display:block; width: 100% !important; height:15em !important; }
.cMain .cMain__contact .cMain__contact__form .cMain__contact__btn input { border-radius: 0.25rem; font-size: 1.2rem; line-height: 1em; font-weight: 600; padding:0.75em; border:solid 1px #007C36; display:block; background-color: #007C36; color:#ffffff; width:100%; padding:1em; text-align: center; }
.cMain .cMain__contact .cMain__contact__form .cMain__contact__btn input:hover { background-color: #ffffff; color:#007C36; }

.cMain .cMain__contact .cMain__contact__form .mfp_err { display:none; color:#b01f24; margin: 0.5rem 0; font-size: 0.9rem; line-height: 1; text-align: left; width:100%; }
.cMain .cMain__contact .cMain__contact__form #mfp_hidden { display:none; }
.cMain .cMain__contact .cMain__contact__form #mfp_warning { margin:0 auto; color: #b01f24; }
.cMain .cMain__contact .cMain__contact__form #mfp_confirm_table { width:100% !important; margin:3em 0 1em auto; }
.cMain .cMain__contact .cMain__contact__form #mfp_confirm_table th { width:25%; font-size: 1rem; line-height: 1.8; padding:0.5em 0; border-top: solid 1px #007C36; }
.cMain .cMain__contact .cMain__contact__form #mfp_confirm_table td { width:70%; padding:0.5em 0; text-align: left; font-size: 1rem; line-height: 1.8; border-top: solid 1px #007C36; color: #333; }
.cMain .cMain__contact .cMain__contact__form #mfp_button_send { width:100% !important; cursor:pointer; text-align: center; width:100%; background: #007C36; color:#ffffff; font-size: 1rem; line-height: 1.5; padding: 0.75em !important; margin-top:1em; }
.cMain .cMain__contact .cMain__contact__form #mfp_button_send:hover { background: #D0E8D1; color:#007C36; }
.cMain .cMain__contact .cMain__contact__form #mfp_button_cancel { width:100% !important; cursor:pointer; text-align:center; width:100%; color:#007C36; font-size: 1.1rem; line-height: 1.5; padding:0.5em 0.75em; }
.cMain .cMain__contact .cMain__contact__form #mfp_button_cancel:hover { background: #D0E8D1; color:#007C36; }

.cMain .cMain__inner .cMain__thanks { display:block; width:100%; padding: 5rem 0 2.5rem 0; min-height: calc(100vh - 14rem); }
.cMain .cMain__inner .cMain__thanks h2 { font-size: 1.8rem; line-height: 1em; margin:0 0 1em 0; }
.cMain .cMain__inner .cMain__thanks p { font-size: 1.2rem; line-height: 1.8em; text-align: justify; color:#333; }
.cMain .cMain__inner .cMain__thanks address { font-size: 1.2rem; line-height: 1.8em; font-weight: 500; text-align: justify; margin-top:4rem; color: #333; }

/* cFooter */
.cFooter { width:100%; padding:2rem 2rem 2rem 18rem; font-size: 1.45rem; letter-spacing: 0; line-height: 2em; font-weight: 500; }
.cFooter nav { position: relative; display:flex; flex-direction: column; }
.cFooter nav ul li { margin-right:1em; }
.cFooter nav .cFooter--left ul { display:flex; }
.cFooter nav .cFooter--right ul { display:flex; }
.cFooter nav .cFooter--right ul:last-child { position: absolute; top:0.25rem; left:70%; display:flex; flex-direction: column; font-size: 1.1rem; line-height: 2.3em; white-space: nowrap; }
.cFooter .cFooter--logo { display:none; }

/* wp-pagenavi */
.wp-pagenavi { width:100%; display: flex; justify-content: center; align-items: center; margin:5rem auto 0 auto; font-size: 1rem; line-height: 1em; font-weight: 700; }
.wp-pagenavi .pages { font-size: 1rem; padding:0 1em; }
.wp-pagenavi .current,
.wp-pagenavi .page,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink { font-size: 1.5rem; text-align: center; width:2em; line-height: 2em; background-color: #E7F1E8; margin:0.4em; }
.wp-pagenavi .current,
.wp-pagenavi .page:hover,
.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .nextpostslink:hover { background-color: #007C36; color:#ffffff; }

/* mSinglePageNavi */
.mSinglePageNavi { width:100%; border-top: var(--line); padding: 3rem 0;  }
.mSinglePageNavi ul { display: flex; justify-content: space-between; align-items: center; }
.mSinglePageNavi ul li { width:33%; }
.mSinglePageNavi ul li:nth-child(2) { text-align: center; }
.mSinglePageNavi ul li:last-child { text-align: right; }
.mSinglePageNavi ul li a { font-size: 1.2rem; line-height: 1em; font-weight: 700; }
.mSinglePageNavi ul li a:hover { color:var(--color_gray); }

/* modal */
.modal { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; width: 77vw; max-height: 80vh;  background-color: #ffffff; border:solid 1px #007C36; padding: 5rem; z-index: 1000; overflow-y: auto; display: none; }
.modal-bg { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background-color: rgba(231, 241, 232, 1); z-index: 999; display: none; }
.closeModal { background-color: #007C36; color:#ffffff;  position: fixed; right: 0; bottom: 0; cursor: pointer; width:3.2rem; padding:0.75rem; }
.modal h3 { color:#007C36; font-size: 1.7rem; line-height: 1.5em; font-weight: 500; margin: 0 auto 1em auto; }
.modal p { font-size: 1.2rem; line-height: 1.8em; text-align: justify; }
.modal .cMain__recruitment__program__item { display:flex; justify-content: space-between; align-items: center; }
.modal .cMain__recruitment__program__item .cMain__recruitment__program__item__txt { width:45%; }
.modal .cMain__recruitment__program__item .cMain__recruitment__program__item__fig { width:50%; }

/* cMain */
.sp_menu { display:none; }

@media screen and (max-width: 600px) {

/* cHeader */
.cHeader { position: static; }
.cHeader .cHeader--tagline { position: absolute; top:3rem; left:auto; right:3rem; width:30%; }
.cHeader .cHeader--title { position: absolute; top:0; left:0; bottom:auto; width:100%; padding:1rem; }
.home .cHeader .cHeader--title { position: absolute; top:1.5rem; left:1.5rem; width:6rem; padding:0.75rem; }
.cHeader .cHeader--pagetitle { -webkit-writing-mode: horizontal-tb; -ms-writing-mode: horizontal-tb; writing-mode: horizontal-tb; font-size: 1.8rem; position: absolute; top: 7.4rem; left: 0; right: 0; text-align: center; }
.terms .cHeader .cHeader--pagetitle,
.privacy .cHeader .cHeader--pagetitle { font-size: 1.8rem; left: 0; }

/* cWrap */
.cWrap { padding:10rem 0 0 0; margin:0 0 0 0; min-width: 0; }
.home .cWrap { padding:18.5rem 0 0 0; margin:0 0 0 0; }

/* cMain */
.cMain { padding: 2rem 0 0 0;}
.cMain .cMain__inner { padding:0 0 0 0; }
.cMain .cMain__photo--fit { height:auto; min-height: 0; max-height: 55rem; }
.cMain .cMain__photo--fit img { object-fit: contain; }
.cMain .cMain__btn { width: 88%; margin:3rem auto; }

/* cMain__home */
.cMain .cMain__home__sec { width:88%; margin:3rem auto; flex-direction: column; align-items: flex-end; }
.cMain .cMain__home__sec .cMain__home__sec--txt { width:100%; }
.cMain .cMain__home__sec .cMain__home__sec--txt p { font-size: 1.4rem; line-height: 1.7em; }
.cMain .cMain__home__sec .cMain__home__sec--btn a { line-height: 1.7em; margin-top:1em; }

.cMain .cMain__home__nav { flex-direction: column; }
.cMain .cMain__home__nav .cMain__home__nav--item { width:100%; margin:0 0 3.5rem 0; }
.cMain .cMain__home__nav .cMain__home__nav--item a { width:100%; display:flex; justify-content: space-between; flex-direction: row-reverse; flex-wrap: wrap; align-items: center; }
.cMain .cMain__home__nav .cMain__home__nav--item a picture { margin:0 0 1.5rem 0; }
.cMain .cMain__home__nav .cMain__home__nav--item .cMain__home__nav--title { margin:0 0 0 0; padding:0 1.5rem 0 0; }
.cMain .cMain__home__nav .cMain__home__nav--item .cMain__home__nav--sub { font-size: 1.1rem; padding:0 0 0 1.5rem; }

.cMain .cMain__home__info { flex-direction: column; margin:2rem auto; width:90%; }
.cMain .cMain__home__info .cMain__home__info__news { width:100%; flex-direction: column; }
.cMain .cMain__home__info .cMain__home__info__news .cMain__home__info__news--head { -webkit-writing-mode: horizontal-tb; -ms-writing-mode: horizontal-tb; writing-mode: horizontal-tb; font-feature-settings: "pkna"; font-size: 1.6rem; border-right: none; border-bottom: solid 1px #007C36; }
.cMain .cMain__home__info .cMain__home__info__notes { width: 100%; flex-direction: column; border-top: solid 1px #007C36; }
.cMain .cMain__home__info .cMain__home__info__notes .cMain__home__info__notes--head { -webkit-writing-mode: horizontal-tb; -ms-writing-mode: horizontal-tb; writing-mode: horizontal-tb; font-feature-settings: "pkna"; font-size: 1.6rem; border-left: none; border-right: none; border-bottom: solid 1px #007C36; }
.cMain .cMain__home__info .cMain__home__info__notes--body a { flex-direction: column; }
.cMain .cMain__home__info .cMain__home__info__notes--body a img { width:100%; }
.cMain .cMain__home__info .cMain__home__info--title { font-size: 1.3rem; }

/* cMain__about */
.cMain .cMain__about { flex-direction: column; margin:3rem auto; padding:0 0 0 0; }
.cMain .cMain__about .cMain__about__txt { width: 88%; padding: 0 0; margin:0 auto; }
.cMain .cMain__about .cMain__about__txt h2 { line-height: 1.6em; margin:2em 0 0.75em 0; }
.cMain .cMain__about .cMain__about__txt p { font-size: 1.2rem; line-height: 1.7em; }
.cMain .cMain__about .cMain__about__txt.cMain__about__lead { padding: 0 0; }
.cMain .cMain__about .cMain__about__txt.cMain__about__lead p { font-size: 1.4rem; }
.cMain .cMain__about .cMain__about__point li { font-size: 1.3rem; line-height: 1.5em; }
.cMain .cMain__about .cMain__about__photo { width:100%; margin: 2rem auto; }
.cMain .cMain__about .cMain__about__photo picture img { margin:0 0 2rem 0; }
.cMain .cMain__about .cMain__about__photo .cMain__about__photo--fig { padding:1rem 0; }

.cMain .cMain__about:nth-of-type(3) .cMain__about__txt { order:1; }
.cMain .cMain__about:nth-of-type(3) .cMain__about__photo { order:2; }

.cMain .cMain__about:nth-of-type(5) .cMain__about__txt { order:1; margin:0 0 3rem 0; }
.cMain .cMain__about:nth-of-type(5) .cMain__about__photo { order:2; }
.cMain .cMain__about:nth-of-type(6) .cMain__about__txt { order:1; }
.cMain .cMain__about:nth-of-type(6) .cMain__about__photo { order:2; width:88%; margin:auto; }
.cMain .cMain__about:nth-of-type(7) .cMain__about__txt { order:1; }
.cMain .cMain__about:nth-of-type(7) .cMain__about__photo { order:2; width:88%; margin:auto; }

/* cMain__head */
.cMain .cMain__head { align-items: center; flex-direction: column; margin:3rem auto; padding: 0 0 0 0; width:88%; }
.cMain .cMain__head .cMain__head__nav { width:100%; margin:0 0 2.5rem 0; }
.cMain .cMain__head .cMain__head__nav li a .cMain__head__nav--title .cMain__head__nav--sub { font-size: 1rem; }
.cMain .cMain__head .cMain__head__nav li a .cMain__head__nav--title .cMain__head__nav--main { font-size: 1.3rem; }
.cMain .cMain__head .cMain__head__lead { width: 100%; padding: 0 0 0 0; margin:0 0 3rem 0; }
.cMain .cMain__head .cMain__head__lead p { font-size: 1.2rem; line-height: 1.7em; }
.cMain .cMain__head .cMain__head__photo { width: 100%; }

/* cMain__quality */
.cMain .cMain__quality { align-items: flex-start; flex-direction: column; margin:0 auto 3rem auto; width:88%; }
.cMain .cMain__quality h2 { font-size: 1.6rem; }
.cMain .cMain__quality .cMain__quality__item { width:100%; padding:2rem; }
.cMain .cMain__quality .cMain__quality__item h3 { font-size: 1.3rem; }
.cMain .cMain__quality .cMain__quality__item p { line-height: 1.7em; }
.cMain .cMain__quality .cMain__quality__item figure.figlink { margin: 1.5em 0 0 0; }
.cMain .cMain__quality .cMain__quality__item figure.figlink img { width:30%; }
.cMain .cMain__quality .cMain__quality__item figure.figlink figcaption { width:60%; }
.cMain .cMain__quality .cMain__quality__item figure.figlink figcaption li { margin:0.25em 0; }
.cMain .cMain__quality .cMain__quality__item figure.figlink figcaption li .btn--title { font-size: 1.1rem; }

/* cMain__service */
.cMain .cMain__service { flex-direction: column; margin:0 auto 0 auto; width:88%; }
.cMain .cMain__service .cMain__service__txt { width:100%; padding:1rem 0; }
.cMain .cMain__service .cMain__service__txt .cMain__service__txt--sub { margin:0 0 0 0; }
.cMain .cMain__service .cMain__service__txt .cMain__service__txt--title { font-size: 1.6rem; margin:0.75em 0 1.5em 0; }
.cMain .cMain__service .cMain__service__photo { width: 100%; }
.cMain .cMain__service__menu { flex-direction: column; padding:3rem 0; margin:0 auto; width:88%; }
.cMain .cMain__service__menu .cMain__service__menu__txt { width:100%; margin:0 0 3rem 0; }
.cMain .cMain__service__menu .cMain__service__menu__txt h2 { font-size: 1.6rem; }
.cMain .cMain__service__menu .cMain__service__menu__txt p { font-size: 1.3rem; line-height: 1.7em; }
.cMain .cMain__service__menu .cMain__service__menu__sample { width:100%; padding:0 0 0 0; }
.cMain .cMain__service__menu .cMain__service__menu__sample dl dt { font-size: 1.6rem; }

/* cMain__recruitment */
.cMain .cMain__recruitment { flex-direction: column; margin:auto; width:88%; }
.cMain .cMain__recruitment .cMain__recruitment__txt { width: 100%; padding: 0 0; margin: 0 0 2rem 0; }
.cMain .cMain__recruitment .cMain__recruitment__txt h2 { font-size: 1.6rem; }
.cMain .cMain__recruitment .cMain__recruitment__txt p { line-height: 1.7em; }
.cMain .cMain__recruitment .cMain__recruitment__photo { width:100%; }
.cMain .cMain__recruitment__program { margin:3rem auto; width:88%; }
.cMain .cMain__recruitment__program__item { flex-direction: column; padding:2rem; }
.cMain .cMain__recruitment__program__item .cMain__recruitment__program__item__txt { width:100%; }
.cMain .cMain__recruitment__program__item .cMain__recruitment__program__item__txt h3 { font-size: 1.4rem; }
.cMain .cMain__recruitment__program__item .cMain__recruitment__program__item__txt p { font-size: 1.1rem; line-height: 1.7em; }
.cMain .cMain__recruitment__program__item .cMain__recruitment__program__item__fig { width:100%; margin:2rem 0 0 0; }
.cMain .cMain__recruitment__voice { width:88%; margin:3rem auto; }
.cMain .cMain__recruitment__voice img { padding: 2rem; }
.cMain .cMain__recruitment__voice h2 { padding: 0.5rem 2rem 0 2rem; }
.cMain .cMain__recruitment__voice p { line-height: 1.6em; }
.cMain .cMain__recruitment__voice .cMain__recruitment__voice--item { padding: 2rem; }

/* cMain__company */
.cMain .cMain__company__info { margin: 3rem auto; width:88%; }
.cMain .cMain__company__info p { font-size: 1.2rem; line-height: 1.7em; }
.cMain .cMain__company__message { flex-direction: column; margin:3rem auto; width:88%; }
.cMain .cMain__company__message p { line-height: 1.7em; }
.cMain .cMain__company__message .cMain__company__message--left { width:100%; margin:0 0 2rem 0; }
.cMain .cMain__company__message .cMain__company__message--right { width:50%; padding:2rem 0 0 0; margin:0 auto; }
.cMain .cMain__company__message .cMain__company__message--right figcaption { line-height: 1.5em; }
.cMain .cMain__company__outline { flex-direction: column; margin:3rem auto; width:88%; }
.cMain .cMain__company__outline .cMain__company__outline__info { width:100%; margin:0 0 3rem 0; }
.cMain .cMain__company__outline .cMain__company__outline__info--body table tbody tr th { width: 25% !important; }
.cMain .cMain__company__outline .cMain__company__outline__history { width:100%; }
.cMain .cMain__company__outline .cMain__company__outline__history--body table tbody tr th { width: 25% !important; }
.cMain .cMain__company__owner { margin:3rem auto; width:88%; flex-direction: column; }
.cMain .cMain__company__owner h2 { -webkit-writing-mode: horizontal-tb; -ms-writing-mode: horizontal-tb; writing-mode: horizontal-tb; font-feature-settings: "pkna"; padding:0.75em; border-right: none; border-bottom: solid 1px #007C36; }
.cMain .cMain__company__owner .cMain__company__owner--body table,
.cMain .cMain__company__owner .cMain__company__owner--body table tbody,
.cMain .cMain__company__owner .cMain__company__owner--body table tbody tr,
.cMain .cMain__company__owner .cMain__company__owner--body table tbody td { display:block; width:100% !important;}
.cMain .cMain__company__recruitment { margin:2rem auto; width:88%; }
.cMain .cMain__company__recruitment h2 { font-size: 1.5rem; }

/* cMain__common */
.cMain .cMain__common { border:none; border-top: solid 1px #007C36; border-bottom: solid 1px #007C36; padding:3rem 0; margin:auto; width:88%; min-height: 0; }
.cMain .cMain__common h2 { font-size: 1.4rem; }
.cMain .cMain__common p { font-size: 1.1rem; line-height: 1.7em; }
.cMain .cMain__common .cMain__common__head { flex-direction: column; margin: 0 0 2rem 0; }
.cMain .cMain__common .cMain__common__head .cMain__common__head--date { text-align: right; }
.cMain .cMain__common .cMain__common__nav { margin:4rem 0 -3rem 0 ; }
.cMain .cMain__common .cMain__common__nav li a { font-size: 1.1rem; }
.cMain .cMain__common .cMain__common__nav li:last-child a { border-bottom: none; }

/* cMain__application */
.cMain .cMain__application__wanted { flex-direction: column; margin:5rem auto; padding:0 0 0 0; width:88%; }
.cMain .cMain__application__wanted .cMain__application__wanted__graduates { width:100%; margin: 0 0 3rem 0; }
.cMain .cMain__application__wanted h2 { font-size: 1.3rem; }
.cMain .cMain__application__wanted .cMain__application__wanted__careers { width:100%; }
.cMain .cMain__application__wanted .cMain__application__wanted--body details summary { font-size: 1.3rem; padding:1rem; }
.cMain .cMain__application__info { padding:1.75rem; flex-direction: column; }
.cMain .cMain__application__info h3 { font-size: 1.3rem; margin:0 0 0.5em 0; }
.cMain .cMain__application__info p {font-size: 1.1rem; }

/* cMain__contact */
.cMain .cMain__contact { flex-direction: column; padding:3rem 0; margin:0 auto; width:88%; }
.cMain .cMain__contact .cMain__contact__head { width:100%; margin:0 0 3rem 0; }
.cMain .cMain__contact .cMain__contact__head p { font-size: 1.2rem; }
.cMain .cMain__contact .cMain__contact__form { width:100%; }
.cMain .cMain__contact .cMain__contact__form dd.cMain__contact__sex label { font-size: 1rem; }
.cMain .cMain__contact .cMain__contact__form dd.cMain__contact__sex label:hover { background-color: #D0E8D1; }
.cMain .cMain__contact .cMain__contact__form #mfp_confirm_table { display: block;  }
.cMain .cMain__contact .cMain__contact__form #mfp_confirm_table tbody { display: block; width: 100%; }
.cMain .cMain__contact .cMain__contact__form #mfp_confirm_table tbody tr { display: block; width: 100%; }
.cMain .cMain__contact .cMain__contact__form #mfp_confirm_table th { display: block; width:100%; font-size: 1rem; line-height: 1.8; padding:0.5em 0 0 0; border-top: solid 1px #007C36; }
.cMain .cMain__contact .cMain__contact__form #mfp_confirm_table td {display: block;  width:100%; padding:0 0 0.5em 0; border-top: none; }
.cMain__contact__sex label,
.cMain__contact__job label,
.cMain__contact__qualifications label,
.cMain__contact__contact label { font-size: 1rem; padding: 0.8em 0.5em; }
.cMain__contact__sex input[type="radio"],
.cMain__contact__job input[type="checkbox"],
.cMain__contact__qualifications input[type="checkbox"],
.cMain__contact__contact input[type="radio"] { display: none; }
.cMain__contact__sex input[type="radio"]:checked+label,
.cMain__contact__job input[type="checkbox"]:checked+label,
.cMain__contact__qualifications input[type="checkbox"]:checked+label,
.cMain__contact__contact input[type="radio"]:checked+label { background-color: #007C36; color: #ffffff; }

.cMain .cMain__contact .cMain__contact__form input[type="text"] { font-size: 1.2rem; }
.cMain__contact__qualifications input[type="text"] { font-size: 1.2rem; }
.cMain .cMain__contact .cMain__contact__form select { font-size: 1.2rem; }
.cMain .cMain__contact .cMain__contact__form textarea { font-size: 1.2rem; }

.cMain .cMain__contact .cMain__contact__form dd .cap { color:#666; }

.cMain .cMain__inner .cMain__thanks { margin:auto; width: 88%;padding: 3rem 0 3rem 0; min-height: 0; }
.cMain .cMain__inner .cMain__thanks h2 { font-size: 1.6rem; }
.cMain .cMain__inner .cMain__thanks p { font-size: 1.1rem; }
.cMain .cMain__inner .cMain__thanks address { font-size: 1.1rem; }

/* cFooter */
.cFooter { padding:3rem 1.75rem 0 1.75rem; font-size: 1.5rem; line-height: 1.8em; }
.cFooter nav {  flex-direction: row; white-space: nowwrap; }
.cFooter nav ul li { margin-right:0; }
.cFooter nav .cFooter--left { margin-right:2.5rem; }
.cFooter nav .cFooter--left ul { flex-direction: column; }
.cFooter nav .cFooter--right ul { flex-direction: column; }
.cFooter nav .cFooter--right ul:last-child { margin-top:1rem; position: static; top:0; font-size: 1rem; line-height: 2em; }
.cFooter .cFooter--logo { display:block; padding:4rem 38%; }

/* cGnav */
.cGnav { top:auto; bottom:0; }

/* wp-pagenavi */
.wp-pagenavi { margin:3rem auto 0 auto; white-space: nowrap; }
.wp-pagenavi .pages { padding:0 1em 0 0; }
.wp-pagenavi .current,
.wp-pagenavi .page,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink { font-size: 1.4rem; margin:0.15em; }

/* modal */
.modal { width: 88vw; max-height: 90vh; padding: 2.5rem 2.5rem 5rem 2.5rem; }
.modal h3 { font-size: 1.5rem; margin: 0 auto 0.5 auto; }
.modal .cMain__recruitment__program__item { flex-direction: column; }
.modal .cMain__recruitment__program__item .cMain__recruitment__program__item__txt { width:100%; margin:0 0 2rem 0; }
.modal .cMain__recruitment__program__item .cMain__recruitment__program__item__fig { width:100%; }

}

/* size */
html { font-size: clamp(12px, 1.1vw, 18px); }

@media screen and (max-width: 600px) {
html { font-size: clamp(0px, 3.6vw, 100px); }
}
