@charset "utf-8";

/* font */
@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.1.1/dist/css/yakuhanjp.css'); */

/* var */
:root {
  --color_k: #333333;
  --color_w: #ffffff;
  --color_gray: #dddddd;
  --color_ltgray: #eeeeee;
  --color_new: #333333;
  --color_blog:#d3dfe8;
  --color_hokago:#fae5ec;
  --color_note:#efe8ce;
  --en: "Montserrat", YakuHanJP, 'Zen Kaku Gothic New', YuGothic, 'Yu Gothic', '游ゴシック', '游ゴシック体', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  --mg: 2.5rem;
  --mg2: 5rem;
  --mg3: 8rem;
}

/* 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: normal; }
ol, ul { list-style: none; }
caption, th { text-align: left; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }
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 : var(--color_k); }
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; }
input[type="radio"]:checked + label { background: var(--color_k); }

/* base */
html { position: relative; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body {
  position: relative;
  animation: openPage 1s ease 0s 1 normal; -webkit-animation: openPage 1s ease 0s 1 normal;
  -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: '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: 400;
  box-sizing: border-box; background-color: var(--color_w); color: var(--color_k); padding: 0; margin: 0;
  -webkit-text-size-adjust: none; -webkit-font-smoothing: antialiased; }
img { vertical-align: bottom; height: auto; width: 100%; }
::selection { background: var(--color_k); color: var(--color_w); }
::-moz-selection { background: var(--color_k); }

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

/* link */
a { transition: all 0.15s ease-in-out; }
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__inline { display: inline-block; }
.br__pc { display:block; }
.br__sp { display:none; }

/* 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 { position: relative; max-width:1680px; margin:auto; }

/* cHeader */
.cHeader { z-index: 777777; position: fixed; top:0; right: 0; }
.cHeader .cHeader__inner { background-color: var(--color_w); width:22rem; padding:0.9rem 1.1rem; }
.home .cHeader { position: fixed; }
.home .cHeader .cHeader__inner { width:17rem; padding:2rem; }
@media screen and (min-width: 1681px) {
  .cHeader { right: calc((100vw - 1680px) / 2); }
}
@media screen and (orientation: portrait) {
  .cHeader { z-index: 2;}
  .cHeader .cHeader__inner { width:28rem; padding:1rem 1.2rem; }
  .home .cHeader { position: absolute; }
  .home .cHeader .cHeader__inner { width:28rem; padding:2.8rem; }
}

/* cFooter */
.cFooter .cFooter__inner { background-color: var(--color_w); display:flex; justify-content: flex-start; justify-content: space-between; align-items: flex-start; padding:6rem 6rem 6rem 6rem; }
.cFooter .cFooter__inner .cFooter--logo { order: 1; width:16%; }
.cFooter .cFooter__inner .cFooter--logo a { display:block; width:100%; }
.cFooter .cFooter__inner .cFooter--logo img { width:100%; }
.cFooter .cFooter__inner .cFooter__nav { order: 2; width:72%; display:flex; justify-content: flex-start; justify-content: space-between; }
.cFooter .cFooter__inner .cFooter__nav .cFooter__nav--left { width: 42%; }
.cFooter .cFooter__inner .cFooter__nav .cFooter__nav--right { width: 42%; }
.cFooter .cFooter__inner .cFooter__nav .cFooter__nav--gnav { width: 100%; }
.cFooter .cFooter__inner .cFooter__nav .cFooter__nav--gnav li { font-size: 1.1rem; line-height: 2em; width: 100%; margin:0 0 0.75em 0; white-space: nowrap; }
.cFooter .cFooter__inner .cFooter__nav .cFooter__nav--gnav li a { display:block; width: 100%; display:flex; justify-content: flex-start; justify-content: space-between; }
.cFooter .cFooter__inner .cFooter__nav .cFooter__nav--gnav li a span:nth-child(1) { font-size: 1.5em; }
.cFooter .cFooter__inner .cFooter__nav .cFooter__nav--gnav li a span:nth-child(2) { font-size: 1em; letter-spacing: 0.05em; }
.cFooter .cFooter__inner .cFooter__nav .cFooter__nav--gnav li.cFooter__nav--contactus {  }
.cFooter .cFooter__inner .cFooter__nav .cFooter__nav--gnav li.cFooter__nav--terms { margin-top:2.3rem; }
.cFooter .cFooter__inner .cFooter__nav .cFooter__nav--gnav li.cFooter__nav--terms,
.cFooter .cFooter__inner .cFooter__nav .cFooter__nav--gnav li.cFooter__nav--privacy { font-size: 0.85rem; line-height: 2.5em; }
.cFooter .cFooter__inner .cFooter__nav .cFooter__nav--sns { margin:3.6rem 0 0 0; display:flex; flex-direction: row-reverse; justify-content: flex-start; justify-content: flex-start; align-items: center; }
.cFooter .cFooter__inner .cFooter__nav .cFooter__nav--sns li { width:2.4rem; margin: 0 0 0 2rem; }

@media screen and (max-width: 1024px) {
  .cFooter .cFooter__inner .cFooter__nav { width:75%; }
  .cFooter .cFooter__inner .cFooter__nav .cFooter__nav--left { width: 43%; }
  .cFooter .cFooter__inner .cFooter__nav .cFooter__nav--right { width: 43%; }
  .cFooter .cFooter__inner .cFooter__nav .cFooter__nav--gnav li { font-size: 1rem; }
}

@media screen and (orientation: portrait) {
  .cFooter .cFooter__inner .cFooter__nav { width:77%; }
  .cFooter .cFooter__inner .cFooter__nav .cFooter__nav--left { width: 45%; }
  .cFooter .cFooter__inner .cFooter__nav .cFooter__nav--right { width: 45%; }
  .cFooter .cFooter__inner .cFooter__nav .cFooter__nav--gnav li { font-size: 1rem; }
}

/* cMain */
.cMain { position: relative; min-height:100vh; }
.news .cMain,
.notes .cMain,
.terms .cMain,
.privacy .cMain { background-color: var(--color_gray); }
.notes_blog .cMain { background-color: var(--color_blog); }
.notes_hokago .cMain { background-color: var(--color_hokago); }
.notes_note .cMain { background-color: var(--color_note); }
.works_ex .cMain { min-height: auto; }

.cCover picture { width:100%; height:80vh; height: 80dvh; max-height: 60rem; position: relative; display: flex; justify-content: center; align-items: center; }
.cCover picture img { object-fit: cover; width:100%; height:100%; }
.cCover--top picture { height:100vh; height: 100dvh; max-height: 100vh; }
.cCover--top picture img { object-fit: cover; object-position: center; width:100%; height: 100%; }
.cCover--trim {  }
.cCover--lead { height: auto; padding:0 6rem; margin:6em auto; }
.cCover--common picture { height: auto; }

@media screen and (orientation: portrait) {
  .cCover picture img { max-height: 60rem; }
  .cCover--top picture img { max-height: 60rem; }
}

.cTitle { pointer-events: none; position: sticky; top:0; left:0; width:100%; height:100vh; height: 100dvh; z-index: 6; margin-top:-100vh; margin-top: -100dvh; }
.cTitle h2 { width: 100%; height: 100vh; height: 100dvh; display: flex; justify-content: flex-end; align-items: flex-end; }
.cTitle h2 .cTitle--jp { order:2; font-size: 1.8rem; letter-spacing: 0.1em; padding: 0.75em 0.75em 0.5em 0.75em; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; white-space: nowrap; background-color: var(--color_w); }
.cTitle h2 .cTitle--en { order:1; font-size: 1.8rem; letter-spacing:0.05em; padding: 0.75em 0.375em 0.75em 0.75em; background-color: var(--color_w); }

.cRdm--item picture { display:block; height: 100vh !important; }
.cRdm--item picture img { object-fit: cover; object-position: top right; width:100%; height:100%; }

.cLead { margin:6rem 6rem; display:flex; justify-content: space-between; }
.cLead .cLead__header { width:30%; }
.cLead .cLead__header h2 { font-size: 3.5rem; font-weight: 200; line-height: 1.5em; letter-spacing: 0.2em; margin: 0.15rem 0 0 0; }
.cLead .cLead__content { width:67%; padding-top:0.75em; }
.cLead .cLead__content p { font-size: 1.5rem; font-weight: 400; line-height: 1.8em; margin:0 0 1em 0; text-align: justify; }
.cLead .cLead__content p:last-child { margin-bottom:0; }

.cSec { margin:5rem 6rem 5rem 12.5rem; }
.news .cSec,
.notes .cSec { padding-bottom:10rem; margin: 7.5rem 6rem 0 12.5rem; }
.methods .cSec { margin:8rem 6rem 5rem 12.5rem; }
@media screen and (orientation: portrait) {
  .methods .cSec { margin:20rem 6rem 15rem 12.5rem; }
}
.cSec .cSec__header { display:flex; justify-content: space-between; align-items:center; margin:0 0 2em 0; }
.cSec .cSec__header .cSec__title { position: relative; display: flex; justify-content: space-between; align-items: center; }
.cSec .cSec__header .cSec__title .cSec__title--jp { font-size: 2rem; line-height: 1.5em; position: absolute; top:0.25em; left:-5.5rem; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; white-space: nowrap; }
.cSec .cSec__header .cSec__title .cSec__title--en { font-size: 2rem; line-height: 1.5em; letter-spacing: 0.03em; }
.cSec .cSec__header .cSec__archive { font-size: 1.5rem; line-height: 1.5em; position: relative; }
.cSec .cSec__header .cSec__ex { font-size: 1.3rem; line-height: 1.5em; }

.cSec .cSec__lead { display:block; }
.cSec .cSec__lead .cSec__lead--description { display: block; text-align: center; font-size: 1.2em; line-height: 1.5em; letter-spacing: 0.1em; padding: 1em; margin:0 0 2em 0; border-top:solid 1px #333; border-bottom: solid 1px #333;}
.cSec .cSec__lead .cSec__lead--description br { display:none; }

.cSec .cSec__content { display:flex; justify-content: flex-start; flex-wrap: wrap; }
.cSec .cSec__content .cSec__item { position: relative; margin-bottom:var(--mg); }
.cSec .cSec__content .cSec__item .cSec__item--thumb { position: relative; aspect-ratio: 3/2; background-color: var(--color_w); }
.home .cSec .cSec__content .cSec__item .cSec__item--thumb { background-color: var(--color_ltgray); }
.service .cSec .cSec__content .cSec__item .cSec__item--thumb { aspect-ratio: 8/7; }
.cSec .cSec__content .cSec__item .cSec__item--thumb img { object-fit: cover; width:100%; height:100%; }
.cSec .cSec__content .cSec__item .cSec__item--thumb .cSec__item--cat { display:block; position: absolute; right:-1px; bottom:-1px; background-color: var(--color_w); padding:0.5em 0 0.15em 0.75em; font-size: 1.5rem; line-height: 1em; }
.news .cSec .cSec__content .cSec__item .cSec__item--thumb .cSec__item--cat,
.news .cSec .cSec__content .cSec__item .cSec__item--thumb .cSec__item--cat,
.notes .cSec .cSec__content .cSec__item .cSec__item--thumb .cSec__item--cat,
.terms .cSec .cSec__content .cSec__item .cSec__item--thumb .cSec__item--cat,
.privacy .cSec .cSec__content .cSec__item .cSec__item--thumb .cSec__item--cat { background-color: var(--color_gray); }
.notes_blog .cSec .cSec__content .cSec__item .cSec__item--thumb .cSec__item--cat { background-color: var(--color_blog); }
.notes_hokago .cSec .cSec__content .cSec__item .cSec__item--thumb .cSec__item--cat { background-color: var(--color_hokago); }
.notes_note .cSec .cSec__content .cSec__item .cSec__item--thumb .cSec__item--cat { background-color: var(--color_note);}

.cSec .cSec__content .cSec__item .cSec__item--title { font-size: 1.5rem; line-height: 1.5em; margin:0.75em 0 0.5em 0; }
.cSec .cSec__content .cSec__item .cSec__item--date { font-size: 1.1rem; line-height: 1.5em; letter-spacing: 0.1em; margin-left:0.2em; }
.cSec .cSec__content .cSec__item .cSec__item--data { font-size: 1.1rem; line-height: 1.6em; letter-spacing: 0.1em; }
.cSec .cSec__content .cSec__item .cSec__item--cap { display:block; position: absolute; right:-1px; bottom:-1px; background-color: var(--color_w); padding:0.5em 0 0.15em 0.75em; font-size: 1.5rem; line-height: 1em; }
.cSec .cSec__content .cSec__item .cSec__item--thumb--sq { display:block; aspect-ratio: 8/7; }
.cSec .cSec__content .cSec__item .cSec__item--thumb--sq img { object-fit: cover; width:100%; height:100%; }
.cSec .cSec__content .cSec__news { width: 100%; margin-bottom:2em; }
.cSec .cSec__content .cSec__news .cSec__news--item { width:100%; padding:1em 0; border-top: solid 1px var(--color_k); display:flex; justify-content: space-between; align-items: center; }
.cSec .cSec__content .cSec__news .cSec__news--item .cSec__news--title { font-size: 1.5rem; line-height: 1.5em; }
.cSec .cSec__content .cSec__news .cSec__news--item .cSec__news--date { font-size: 1.1rem; line-height: 1.5em; letter-spacing: 0.1em; padding-left:0.2em; }
.cSec .cSec__footer { margin:0 0 3rem 0; display:flex; justify-content: space-between; }
.cSec .cSec__footer .cSec__footer--title { font-size: 2.2rem; line-height: 1.8em; }
.cSec .cSec__footer .cSec__footer--ex { width:50%; font-size: 1.3rem; line-height: 1.8em; }
.cSec--facilities { margin: 5rem 6rem 5rem 6rem; }
.cSec--facilities .cSec__content { margin: 0; }

.cSec--nav { position: sticky; top: 0; background-color: var(--color_w); z-index: 1; }
.cSec--nav ul { display: flex; justify-content: center; padding:1.25rem 0 0.75rem 0; margin-top:6rem; }
.cSec--nav li { font-size: 1.8rem; line-height: 1em; margin:0 1rem; }
.cSec--nav li a { display:inline-block; border-bottom:solid 1px transparent; padding:0 0 0.4em 0; }
.cSec--nav li.current a,
.cSec--nav li a:hover { border-bottom:solid 1px var(--color_k);  }

.cSec--license { margin:3rem 6rem 0 6rem; border-top:solid 1px var(--color_gray); border-bottom: solid 1px var(--color_gray); padding:1rem; }
.cSec--license dl { display: flex; justify-content: center; align-items: center; }
.cSec--license dl dt { font-size: 1.4rem; line-height: 1em; font-weight: 400; margin:0 2rem 0 0; }
.cSec--license dl dd { font-size: 1.2rem; line-height: 1em; font-weight: 400; }
.cSec--license dl dd::after { content: "／"; }
.cSec--license dl dd:last-child::after { content: ""; }

@media screen and (orientation: portrait) {
  .cSec--nav ul { padding:10rem 0 3rem 0; }
  .cSec--nav li { font-size: 2rem; }
}

.cAbout { display:flex; }
.cAbout .cAbout--left { width:45%; }
.cAbout .cAbout--left figure { margin:6rem 0; }
.cAbout .cAbout--left figure:last-child { margin:6rem 0 0 0; }
.cAbout .cAbout--right { width:55%; padding:6rem 6rem; }
.cAbout .cAbout--right h2 { font-size: 1.7rem; line-height: 2em; margin: 0 0 6rem 0; text-align: justify; }
.cAbout .cAbout--right p { font-size: 1.3rem; font-weight: 400; line-height: 1.8em; margin:0 0 1em 0; text-align: justify; }
.cAbout .cAbout--right p a { text-decoration: underline; }
.cAbout .cAbout--right figure { margin:6rem 0; }
@media screen and (orientation: portrait) {
  .cAbout .cAbout--right figure { margin:3rem 0; }
}

.cWorks_ex { flex-direction: column; display:flex; justify-content: space-between; align-items: center; width:100%; margin:auto; }
.cWorks_ex .cWorks_ex--photo { width:100%; position: relative; }
.cWorks_ex .cWorks_ex--slide--item { width:100%; height:100vh; max-height:60rem; }
.cWorks_ex .cWorks_ex--slide--item img { object-fit: cover; width:100%; height:100%; }
.cWorks_ex .cWorks_ex--ex { width:100%; padding:3rem 6rem 8rem 6rem; }
.cWorks_ex .cWorks_ex--ex h3 { font-size: 1.8rem; font-weight: 400; line-height: 1.8em; margin:0 0 0.5em 0;}
.cWorks_ex .cWorks_ex--ex p { font-size: 1.3rem; font-weight: 400; line-height: 1.8em; margin:0 0 1.5em 0; text-align: justify; }
.cWorks_ex .cWorks_ex--ex .mBtn { font-size: 1.3rem; margin:3rem 0 0 0; }
.cWorks_ex--photo--cap { font-size: 1.8rem; line-height: 1.5em; background-color: var(--color_w); padding:0.5em 1em; position: absolute; left:0; bottom:0; }

.cmethods__ex { flex-direction: column; display:flex; justify-content: space-between; align-items: center; width:100%; margin:auto; }
.cmethods__ex .cmethods__ex--photo { width:100%; position: relative; }
.cmethods__ex .cmethods__ex--slide--item { width:100%; height:100vh; max-height:60rem; }
.cmethods__ex .cmethods__ex--slide--item img { object-fit: cover; width:100%; height:100%; }
.cmethods__ex .cmethods__ex--ex { width:100%; padding:3rem 6rem 8rem 6rem; }
.cmethods__ex .cmethods__ex--ex h3 { font-size: 1.8rem; font-weight: 400; line-height: 1.8em; margin:0 0 0.5em 0;}
.cmethods__ex .cmethods__ex--ex p { font-size: 1.3rem; font-weight: 400; line-height: 1.8em; margin:0 0 1.5em 0; text-align: justify; }
.cmethods__ex .cmethods__ex--ex .mBtn { font-size: 1.3rem; margin:3rem 0 0 0; }

.cmethods__ex--photo--cap { font-size: 1.8rem; line-height: 1.5em; background-color: var(--color_w); padding:0.5em 1em; position: absolute; left:0; bottom:0; }
.cmethods__ex--nav .cmethods__ex--prev,
.cmethods__ex--nav .cmethods__ex--next { position: absolute; bottom: 25rem; font-size: 1.5rem; line-height: 4rem; text-align: center; background-color: var(--color_w); width:4rem; height:4rem; }
.cmethods__ex--nav .cmethods__ex--prev { left:0; }
.cmethods__ex--nav .cmethods__ex--next { right:0; }

.cRecruitment { display:flex; justify-content: space-between; width:80%; margin:6rem auto; }
.cRecruitment .cRecruitment--left { width:40%; }
.cRecruitment .cRecruitment--left h2 { font-size: 2rem; line-height: 2em; margin: 0 0 1.5em 0; }
.cRecruitment .cRecruitment--right { width:55%; }
.cRecruitment .cRecruitment--right p { font-size: 1.3rem; font-weight: 400; line-height: 1.8em; margin:0 0 2em 0; text-align: justify; }

.cCommon { display:flex; justify-content: center; width:80%; margin:auto; padding:10rem 0; }
.cCommon .cCommon--article { width:60%; margin-bottom:3rem; }
.cCommon .cCommon--article article { display:none; }
.cCommon .cCommon--article article:first-child { display:block; }
.cCommon .cCommon--title { font-size: 2rem; line-height: 1.8em; margin: 0 0 0.75em 0; }
.cCommon .cCommon--date { font-size: 1.2rem; line-height: 1.5em; letter-spacing: 0.1em; padding-left:0.15em; }
.cCommon .cCommon--entry { margin-top:3rem; }
.cCommon .cCommon--entry h2 { font-size: 2rem; font-weight: 400; line-height: 1.8em; margin:2em 0 1em 0; }
.cCommon .cCommon--entry h3 { font-size: 1.8rem; font-weight: 400; line-height: 1.8em; margin:2em 0 1em 0; }
.cCommon .cCommon--entry h4 { font-size: 1.6rem; font-weight: 400; line-height: 1.8em; margin:2em 0 1em 0; }
.cCommon .cCommon--entry h5 { font-size: 1.4rem; font-weight: 400; line-height: 1.8em; margin:2em 0 1em 0; }
.cCommon .cCommon--entry h6 { font-size: 1.2rem; font-weight: 400; line-height: 1.8em; margin:2em 0 1em 0; }
.cCommon .cCommon--entry p { font-size: 1.3rem; font-weight: 400; line-height: 1.8em; margin:0 0 1em 0; text-align: justify; }
.cCommon .cCommon--entry p:last-child { margin-bottom:0; }
.cCommon .cCommon--entry p.error_messe { font-size: 1.1rem; font-weight: 500; color: brown; line-height: 1.8em; margin:0 0 1em 0; text-align: justify; }
.cCommon .cCommon--entry img { margin:2rem 0; }

.cCommon .cCommon--entry ul { margin:3rem 0 3rem 0; }
.cCommon .cCommon--entry ol { margin:3rem 0 3rem 2rem; list-style: decimal; }
.cCommon .cCommon--entry ul li,
.cCommon .cCommon--entry ol li { font-size: 1.4em; line-height: 1.4; margin:1rem 0; }
.cCommon .cCommon--entry ul li a,
.cCommon .cCommon--entry ol li a { display:inline; padding:0; }
.cCommon .cCommon--entry ul li a::after,
.cCommon .cCommon--entry ol li a::after { content: ""; }
.cCommon .cCommon--entry ul li a:hover,
.cCommon .cCommon--entry ol li a:hover { background-color: var(--color_k); color:#fff; }
.cCommon .cCommon--entry blockquote { border-left:solid 1px var(--color_k); border-right:solid 1px var(--color_k); padding:0 3rem; margin:3rem 0; }
.cCommon .cCommon--entry blockquote h1,
.cCommon .cCommon--entry blockquote h2,
.cCommon .cCommon--entry blockquote h3,
.cCommon .cCommon--entry blockquote h4,
.cCommon .cCommon--entry blockquote h5,
.cCommon .cCommon--entry blockquote h6,
.cCommon .cCommon--entry blockquote p { margin-left:0; }
.cCommon .cCommon--entry table { border-top:solid 1px var(--color_k); border-left:solid 1px var(--color_k); width:100%; }
.cCommon .cCommon--entry table th { border-right:solid 1px var(--color_k); border-bottom:solid 1px var(--color_k); padding:1rem; }
.cCommon .cCommon--entry table td { border-right:solid 1px var(--color_k); border-bottom:solid 1px var(--color_k); padding:1rem; }
.cCommon .cCommon--entry strong { font-weight:900; }
.cCommon .cCommon--entry em { font-style: italic; }
.cCommon .cCommon--entry .aligncenter,
.cCommon .cCommon--entry .wp-caption { width:100% !important; margin:3rem 0; }
.cCommon .cCommon--entry .alignleft,
.cCommon .cCommon--entry .wp-caption.alignleft { float: left; width:45% !important; margin:0.5rem 3rem 3rem 0 !important; }
.cCommon .cCommon--entry .alignright,
.cCommon .cCommon--entry .wp-caption.alignright { float: right; width:45% !important; margin:0.5rem 0 3rem 3rem !important; }
.cCommon .cCommon--entry a { text-decoration: underline; }
.cCommon .cCommon--entry a:hover {  }
.cCommon .cCommon--entry .mBtn { margin:2em 0 }

.cCommon--nav { margin:0 0 0 0; font-size: 1.6rem; line-height: 1em; font-weight: 400; line-height: 2em; }
.cCommon--nav ul { display: flex; justify-content: center; }
.cCommon--nav li { margin:0; padding:0; }
.cCommon--nav li::after { content: "｜"; padding: 0 0.5em; }
.cCommon--nav li:last-child:after { content: ""; padding: 0; }
.cCommon--nav a { display: inline-block; padding-top: 0; border-top: solid 1px transparent; }
.cCommon--nav .current a,
.cCommon--nav a:hover,
.notes_blog .cCommon--nav .cCommon--nav--blog a,
.notes_hokago .cCommon--nav .cCommon--nav--hokago a,
.notes_note .cCommon--nav .cCommon--nav--note a,
.news_info .cCommon--nav .cCommon--nav--info a,
.news_recruitment .cCommon--nav .cCommon--nav--recruitment a { display: inline-block; border-top:solid 1px var(--color_k); }

.cTable table { width:100%; border-bottom: solid 1px var(--color_k); }
.cTable table tr td { border-top:solid 1px var(--color_k); padding:0.25em 0; font-size: 1.1rem; line-height: 1.5em; vertical-align: middle; }
.cTable table tr td:last-child { text-align: right; }

.cBanner { background-color: var(--color_w); padding:6rem 12vw; gap:1rem; display:flex; justify-content: space-between; align-items: center; }

.cContactus { display:flex; justify-content: space-between; width:80%; margin:6rem auto; }
.cContactus .cContactus--left { order:2; width:30%; padding-top:0.5em; }
.cContactus .cContactus--left p { font-size: 1.3rem; font-weight: 400; line-height: 1.8em; margin:0 0 1.5em 0; text-align: justify; }
.cContactus .cContactus--left p:last-child { margin:0 0 0 0; }
.cContactus .cContactus--left p a { text-decoration: underline; }
.cContactus .cContactus--right { order: 1; width:65%; }
.cContactus .cContactus--right dl { display:flex; flex-wrap: wrap; justify-content: space-between; align-items: center; font-size: 1.2rem; font-weight: 400; line-height: 1.8em; margin:0 0 2em 0; text-align: justify; }
.cContactus .cContactus--right dl .title { font-size: 1.4rem; width:25%; font-weight: 400; text-align: left; }
.cContactus .cContactus--right dl .nes { width:10%; text-align: center; font-size: 0.8rem; font-weight: 500; line-height: 1em;  }
.cContactus .cContactus--right dl .req { background-color: var(--color_k); color:var(--color_w); padding:0.15em 0.5em; }
.cContactus .cContactus--right dl .opt { background-color: var(--color_gray); color:var(--color_k); padding:0.15em 0.5em; }
.cContactus .cContactus--right dl .ex { width:65%; padding:0.75em; }
.cContactus .cContactus--right dl dd input[type="text"],
.cContactus .cContactus--right dl dd input[type="email"],
.cContactus .cContactus--right dl dd input[type="tel"] { width:100%; background-color: var(--color_gray); padding:0.5em; }
.cContactus .cContactus--right dl dd select { width:100%; color:var(--color_k); background-color: var(--color_gray); padding:0.5em 2em; margin-bottom:1em; }
.cContactus .cContactus--right dl dd textarea { width:100%; height:10em; background-color: var(--color_gray); padding:0.2em; }
.cContactus .cContactus--right dl dd input[type="file"] { color: var(--color_k); display:block; width:100%; margin:0.75rem 0; text-align: center; }
.cContactus .cContactus--right dl dd input[type="file"] { font-size: 0.9rem; line-height: 1em; white-space: nowrap; }
.cContactus .cContactus--right dl dd input[type="file"]::file-selector-button { color:var(--color_k); background-color: var(--color_gray); cursor:pointer; font-size: 1rem; line-height: 1em; border:none; border-radius: 2em; margin-right:1rem; padding: 1em 2em; display: inline-block; }
.cContactus .cContactus--right dl dd input[type="file"]::file-selector-button:hover { background-color: var(--color_k); color:var(--color_w); }
.cContactus .cContactus--address { border-top:solid 1px var(--color_k); border-bottom: solid 1px var(--color_k); padding:1.5rem 0; margin:1.5rem 0; }
.cContactus--btn { width:100%; display:flex; flex-direction: column; }
.cContactus--btn input[type="submit"],
.cContactus--btn input[type="button"] { display:block; text-align: center; padding:0.75em; font-size: 1.4rem; line-height: 1em; border:solid 1px var(--color_k); margin:1em 0; }
.cContactus--btn input[type="submit"]:hover,
.cContactus--btn input[type="button"]:hover { background-color: var(--color_k); color:var(--color_w); }
.cContactus--btn input[type="reset"] { font-size: 1.4rem; line-height: 1em; text-align: center; margin: 0.75em 0; }

/* formWrap */
#formWrap { margin:2em 0; }
.formTable { width:100%; margin:2em 0; }
.formTable th { font-size: 1rem; line-height: 1.4em; width: 30%; border-top: solid 1px var(--color_k); padding: 0.5em 0; }
.formTable td { font-size: 1.2rem; line-height: 1.4em;  width: 70%; border-top: solid 1px var(--color_k); padding: 0.5em 0; }

/* module */
.mCols--2 .cSec__item { width: calc((100% - var(--mg)) / 2); margin-right: var(--mg); }
.mCols--2 .cSec__item:nth-child(2n) { margin-right:0; }
.mCols--3 .cSec__item { width: calc((100% - var(--mg) * 2 ) / 3); margin-right: var(--mg); }
.mCols--3 .cSec__item:nth-child(3n) { margin-right:0; }
.mCols--4 .cSec__item { width: calc((100% - var(--mg) * 3 ) / 4); margin-right: var(--mg); }
.mCols--4 .cSec__item:nth-child(4n) { margin-right:0; }
.mCols--2 .cSec__item--all,
.mCols--3 .cSec__item--all,
.mCols--4 .cSec__item--all { width:100%; margin-right: 0; }
.works .mCols--3 .cSec__item { display: none; }
.works .mCols--3 .cSec__item.is-visible { display: block !important; opacity: 0; transition: opacity 0.5s ease-in-out; }
.works .mCols--3 .cSec__item.is-visible.fade-in { opacity: 1; }
.notes .mCols--3 .cSec__item { display: none; }
.notes .mCols--3 .cSec__item.is-visible { display: block !important; opacity: 0; transition: opacity 0.5s ease-in-out; }
.notes .mCols--3 .cSec__item.is-visible.fade-in { opacity: 1; }
.news .cSec .cSec__content .cSec__news .cSec__news--item { display: none; }
.news .cSec .cSec__content .cSec__news .cSec__news--item.is-visible { display: block !important; opacity: 0; transition: opacity 0.5s ease-in-out; }
.news .cSec .cSec__content .cSec__news .cSec__news--item.is-visible.fade-in { opacity: 1; }
.cSec__item__more { width: 100%; }
.works_ex .cSec__item__more { padding-bottom:5rem; }
.cSec__item__more button { cursor:pointer; width: 100%; display:block; text-align: center; padding:0.75em; font-size: 1.4rem; line-height: 1em; border:solid 1px var(--color_k); margin:0 0 2rem 0; text-decoration: none !important; }
.cSec__item__more button:hover { background-color: var(--color_k); color:var(--color_w); }
.cSec__item__more button.js-close-button { font-size: 1.3rem; border-radius: 3rem; margin: 0 auto 0 auto; }
.mBtn { display:block; text-align: center; padding:0.75em; font-size: 1.4rem; line-height: 1em; border:solid 1px var(--color_k); margin:var(--mg) 0 var(--mg3) 0; text-decoration: none !important; }
.mBtn:hover { background-color: var(--color_k); color:var(--color_w); }
.cSec__btn--02 { display:flex; justify-content: space-between; }
.cSec__btn--02 .mBtn { width:48.5%; margin-top:0; }
.cRecruitment .mBtn { margin: 2rem 0; }
.mObj-top picture img { object-position: top; }
.mObj-bottom picture img { object-position: bottom; }

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

/* var */
:root {
 --mg: 1.75rem;
 --mg2: 3.25rem;
}

/* options */
.pc { display:none; }
.sp { display:block; }

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

/* cWrap */
.cWrap { padding:5.25rem 0 0 0; margin:0; }

/* cHeader */
.cHeader { z-index: 7; position: fixed; top:0; right:0; background-color: var(--color_w); }
.cHeader { display: flex; flex-direction: row-reverse; width: 100%; }
.cHeader .cHeader__inner { background-color: var(--color_w); width:auto; padding:1.25rem 2rem; }
.cHeader .cHeader__inner img { width:auto; height:2.75rem; }
.home .cHeader { position: fixed; width: 100%; }
.home .cHeader .cHeader__inner { width:auto; padding:1.25rem 1.75rem; }
.home .cHeader .cHeader__inner img { width:auto; height:2.75rem; }

/* cFooter */
.cFooter {  }
.cFooter .cFooter__inner { background-color: var(--color_w); flex-direction: column; padding:6rem 2rem 3rem 2rem; }
.cFooter .cFooter__inner .cFooter--logo { order: 2; width:65%; padding-top:8rem; height:100dvh; margin:0 auto; display: flex; justify-content: center; align-items: center; }
.cFooter .cFooter__inner .cFooter__nav { order: 1; width:100%; flex-direction: column; }
.cFooter .cFooter__inner .cFooter__nav .cFooter__nav--left { width: 100%; }
.cFooter .cFooter__inner .cFooter__nav .cFooter__nav--right { width: 100%; }
.cFooter .cFooter__inner .cFooter__nav .cFooter__nav--gnav { width: 100%; }
.cFooter .cFooter__inner .cFooter__nav .cFooter__nav--gnav li { font-size: 1rem; line-height: 2.4em; letter-spacing: 0; width: 100%; margin:0 0 0.75em 0; }
.cFooter .cFooter__inner .cFooter__nav .cFooter__nav--gnav li a { display:block; width: 100%; display:flex; justify-content: flex-start; justify-content: space-between; }
.cFooter .cFooter__inner .cFooter__nav .cFooter__nav--gnav li a span:nth-child(1) { font-size: 1.75em; }
.cFooter .cFooter__inner .cFooter__nav .cFooter__nav--gnav li a span:nth-child(2) { font-size: 1em; letter-spacing: 0.03em; }
.cFooter .cFooter__inner .cFooter__nav .cFooter__nav--gnav li.cFooter__nav--contactus { margin-bottom: 3rem; }
.cFooter .cFooter__inner .cFooter__nav .cFooter__nav--gnav li.cFooter__nav--terms { margin-top:3rem; }
.cFooter .cFooter__inner .cFooter__nav .cFooter__nav--gnav li.cFooter__nav--terms,
.cFooter .cFooter__inner .cFooter__nav .cFooter__nav--gnav li.cFooter__nav--privacy { font-size: 0.75rem; }
.cFooter .cFooter__inner .cFooter__nav .cFooter__nav--sns { margin:6rem 0 0 0; display:flex; justify-content: center; align-items: center; }
.cFooter .cFooter__inner .cFooter__nav .cFooter__nav--sns li { width:2.75rem; margin: 0 1rem; }

/* cMain */
.cMain { min-height:100vh; }
.news .cMain,
.notes .cMain,
.terms .cMain,
.privacy .cMain { min-height: auto;  }
.works_ex .cMain { min-height: auto; }

.cCover picture { width:100%; height:auto; max-height: 40rem; position: relative; display: flex; justify-content: center; align-items: center; }
.cCover picture img { object-fit: cover; width:100%; height:100%; }
.cCover--top picture { height:calc(100svh - 5.25rem); max-height: calc(100svh - 5.25rem); }
.cCover--top picture img { object-fit: cover; object-position: center; width:100%; height: 100%; max-height:100svh; }
.cCover--lead { height: auto; padding:0 1.75rem; margin:6rem auto 1.75rem auto; }
.cCover--common picture { height: auto; }
.methods_ex .cCover--top picture { height:100svh; height:70svh; max-height: auto; }
.methods_ex .cCover--top picture img { object-fit: cover; object-position: center; width:100%; height: 100%; max-height:100svh; }

.cTitle { position: sticky; top:0; left:0; width:100%; height:100dvh; z-index: 6; margin-top:-100dvh; }
.cTitle h2 { width: 100%; height: 100dvh; display: flex; justify-content: flex-end; align-items: flex-end; }
.cTitle h2 .cTitle--jp { order:2; font-size: 1.6rem; letter-spacing: 0.1em; padding: 0.75em 0.75em 0.5em 0.75em; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; white-space: nowrap; background-color: var(--color_w); }
.cTitle h2 .cTitle--en { order:1; font-size: 1.6rem; letter-spacing:0.05em; padding: 0.75em 0.375em 0.75em 0.75em; background-color: var(--color_w); }

.cRdm--item picture { height: calc(100vh - 5.25rem); height: calc(100svh - 5.25rem) !important; }
.cRdm--item picture img { object-fit: cover; object-position: center right;  width:100%; height:100%; }

.cLead { margin:2rem 2rem 6rem 2rem; flex-direction: column; }
.cLead .cLead__header { width:100%; margin:3rem 0; }
.cLead .cLead__header h2 { font-size: 3.2rem; font-weight: 200; line-height: 1.5em; letter-spacing: 0.2em; text-align: center; padding-left:0.5em; }
.cLead .cLead__content { width:100%; padding-top:0.75em; }
.cLead .cLead__content p { font-size: 1.5rem; font-weight: 400; line-height: 1.7em; margin:0 0 1em 0; text-align: justify; }
.cLead .cLead__content p:last-child { margin-bottom:0; }

.cSec { margin:3rem 1.75rem 3rem 1.75rem; }
.news .cSec,
.notes .cSec { padding-bottom:10rem; margin: 3rem 1.75rem 0 1.75rem; }
.methods .cSec { margin:10rem 1.75rem 10rem 1.75rem; }
.cSec .cSec__header { display:flex; justify-content: space-between; align-items:center; margin:0 0 2em 0; }
.news .cSec .cSec__header,
.notes .cSec .cSec__header { flex-wrap: wrap; }
.cSec .cSec__header .cSec__title { width:100%; position: relative; display: flex; justify-content: flex-start; align-items: flex-start; }
.cSec .cSec__header .cSec__title .cSec__title--jp { font-size: 2rem; line-height: 1.5em; margin-right:1em; position: static; top:0.25em; left:-6rem; -webkit-writing-mode: horizontal-tb; -ms-writing-mode: lr-tb; writing-mode: horizontal-tb; font-feature-settings: "pkna"; white-space: nowrap; }
.cSec .cSec__header .cSec__title .cSec__title--jp .cSec__title--jp--title { display:block;  }
.notes_blog .cSec .cSec__header .cSec__title .cSec__title--jp .cSec__title--jp--title { margin:0 0 1.85em 0; }
.notes_hokago .cSec .cSec__header .cSec__title .cSec__title--jp .cSec__title--jp--title { margin:0 0 3em 0; }
.notes_note .cSec .cSec__header .cSec__title .cSec__title--jp .cSec__title--jp--title { margin:0 0 1.85em 0; }

.cSec .cSec__lead { display:block; margin-top:-1.5em; }
.cSec .cSec__lead .cSec__lead--description { display: block; text-align: center; font-size: 1.1em; line-height: 1.5em; letter-spacing: 0.1em; padding: 1em 0; margin:0 0 2em 0; border-top:solid 1px #333; border-bottom: solid 1px #333;}
.cSec .cSec__lead .cSec__lead--description br { display: block; }

.cSec .cSec__header .cSec__title .cSec__title--en { font-size: 1.4rem; line-height: 1.5em; padding-left:0.15em; margin-top:0.3em; }
.cSec .cSec__header .cSec__archive { white-space: nowrap; font-size: 1.1rem; line-height: 1.5em; position: relative; }
.service .cSec .cSec__header .cSec__title { flex-direction: column; justify-content: flex-start; align-items: flex-start; }
.service .cSec .cSec__header .cSec__title .cSec__title--jp { margin-bottom:0.5em; }

.workflow .cSec .cSec__header { flex-direction: column; justify-content: flex-start; align-items: flex-start; }
.workflow .cSec .cSec__header .cSec__title { justify-content: space-between; align-items: center; flex-direction: column; }
.workflow .cSec .cSec__header .cSec__title .cSec__title--jp { margin: 0 0 0.5rem 0; }

.cSec .cSec__header .cSec__ex { font-size: 1.3rem; margin-top: 1.5rem; line-height: 1.7em; text-align: justify; }
.workflow .cSec .cSec__header .cSec__ex { width:100%; text-align: center; }

.cSec .cSec__content { display:flex; justify-content: flex-start; flex-wrap: wrap; }
.cSec .cSec__content .cSec__item { position: relative; margin-bottom:var(--mg); }
.cSec .cSec__content .cSec__item .cSec__item--thumb { position: relative; }
.cSec .cSec__content .cSec__item .cSec__item--thumb .cSec__item--cat { display:block; position: absolute; right:-1px; bottom:-1px; background-color: var(--color_w); padding:0.5em 0 0.15em 0.75em; font-size: 1.2rem; line-height: 1em; }
.news .cSec .cSec__content .cSec__item .cSec__item--thumb .cSec__item--cat,
.news .cSec .cSec__content .cSec__item .cSec__item--thumb .cSec__item--cat,
.notes .cSec .cSec__content .cSec__item .cSec__item--thumb .cSec__item--cat,
.terms .cSec .cSec__content .cSec__item .cSec__item--thumb .cSec__item--cat,
.privacy .cSec .cSec__content .cSec__item .cSec__item--thumb .cSec__item--cat { background-color: var(--color_gray); }
.notes_blog .cSec .cSec__content .cSec__item .cSec__item--thumb .cSec__item--cat { background-color: var(--color_blog); }
.notes_hokago .cSec .cSec__content .cSec__item .cSec__item--thumb .cSec__item--cat { background-color: var(--color_hokago); }
.notes_note .cSec .cSec__content .cSec__item .cSec__item--thumb .cSec__item--cat { background-color: var(--color_note);}

.cSec .cSec__content .cSec__item .cSec__item--title { font-size: 1.4rem; line-height: 1.5em; margin:0.75em 0 0.5em 0; }
.cSec .cSec__content .cSec__item .cSec__item--date { font-size: 0.9rem; line-height: 1.5em; letter-spacing: 0.1em; margin-left:0.2em; }
.cSec .cSec__content .cSec__item .cSec__item--data { font-size: 1rem; line-height: 1.6em; letter-spacing: 0.1em; margin-left:0.2em; }
.cSec .cSec__content .cSec__item .cSec__item--cap { display:block; position: absolute; right:-1px; bottom:-1px; background-color: var(--color_w); padding:0.5em 0 0.15em 0.75em; font-size: 1.5rem; line-height: 1em; }
.cSec .cSec__content .cSec__item .cSec__item--thumb--sq { display:block; aspect-ratio: 8/7; }
.cSec .cSec__content .cSec__item .cSec__item--thumb--sq img { object-fit: cover; width:100%; height:100%; }
.cSec .cSec__content .cSec__news { width: 100%; margin-bottom:2em; }
.cSec .cSec__content .cSec__news .cSec__news--item { width:100%; padding:1em 0; border-top: solid 1px var(--color_k); flex-direction: column; display:flex; justify-content: flex-start; align-items: flex-start; }
.cSec .cSec__content .cSec__news .cSec__news--item .cSec__news--title { font-size: 1.4rem; line-height: 1.5em; }
.cSec .cSec__content .cSec__news .cSec__news--item .cSec__news--date { font-size: 0.9rem; line-height: 1.5em; letter-spacing: 0.1em; }
.cSec .cSec__footer { margin:0 0 3rem 0; display:flex; justify-content: space-between; flex-direction: column; }
.cSec .cSec__footer .cSec__footer--title { font-size: 1.8rem; line-height: 1.6em; margin-bottom:0.5em; }
.cSec .cSec__footer .cSec__footer--ex { width:100%; font-size: 1.1rem; line-height: 1.6em; }
.cSec--facilities { margin: 3rem 1.75rem; }
.cSec--facilities .cSec__content { margin: 0; }

.cSec--nav { position: sticky; top: 0; background-color: var(--color_w); z-index: 5; }
.cSec--nav ul { display: flex; flex-wrap: wrap; justify-content: space-between; padding:5.5rem 1.75rem 1.5rem 1.75rem; margin-top:0; }
.cSec--nav li { font-size: 1.5rem; line-height: 1em; margin:0; }
.cSec--nav li a { display:inline-block; border-bottom:solid 1px transparent; padding:0 0 0.4em 0; }
.cSec--nav li.current a,
.cSec--nav li a:hover { border-bottom:solid 1px var(--color_k);  }

.cSec--license { margin:1.75rem 1.75rem 0 1.75rem;  }
.cSec--license dl { flex-direction: column; }
.cSec--license dl dt { font-size: 1.4rem; line-height: 1em; font-weight: 400; margin:1rem 0; }
.cSec--license dl dd { font-size: 1.3rem; line-height: 1.5em; font-weight: 400; }
.cSec--license dl dd::after { content: ""; }
.cSec--license dl dd:last-child::after { content: ""; }
.cSec--license dl dd:last-child { margin: 0 0 1rem 0; }

.cAbout { display:flex; flex-direction: column; }
.cAbout .cAbout--left { order:2; width:100%; }
.cAbout .cAbout--left figure { margin:1.75rem 0; }
.cAbout .cAbout--left figure:last-child { margin:1.75rem 0 0 0; }
.cAbout .cAbout--right { order: 1; width:100%; padding:5rem 1.75rem; }
.cAbout .cAbout--right h2 { font-size: 1.8rem; line-height: 2em; margin: 0 0 1.5em 0; text-align: justify; }
.cAbout .cAbout--right p { font-size: 1.4rem; font-weight: 400; line-height: 1.8em; margin:0 0 1em 0; text-align: justify; }
.cAbout .cAbout--right figure { margin:5rem 0; }

.cWorks_ex { flex-direction: column; display:flex; justify-content: space-between; align-items: center; width:100%; margin:auto; }
.cWorks_ex .cWorks_ex--photo { width:100%; }
.cWorks_ex .cWorks_ex--slide--item { width:100%; height:58vh; padding: 10vh 0 0 0; }
.cWorks_ex .cWorks_ex--slide--item img { object-fit: cover; object-position: center; width:100%; height:100%; }
.cWorks_ex .cWorks_ex--ex { width:100%; padding:5.5rem 7rem 8rem 1.75rem; }
.cWorks_ex .cWorks_ex--ex h3 { font-size: 1.8rem; font-weight: 400; line-height: 1.5em; margin:0 0 0 0;}
.cWorks_ex .cWorks_ex--ex p { font-size: 1.3rem; font-weight: 400; line-height: 1.5em; margin:0 0 1.25em 0; text-align: justify; }
.cWorks_ex .cWorks_ex--ex .mBtn { font-size: 1.3rem; margin:2rem 0 0 0; }
.cWorks_ex--photo--cap { font-size: 1.5rem; line-height: 1.5em; background-color: var(--color_w); padding:0.5em 1em 0.5em 1em; position: absolute; left:0; bottom:-5.5rem; }

.cmethods__ex { flex-direction: column; display:flex; justify-content: space-between; align-items: center; width:100%; margin:auto; }
.cmethods__ex .cmethods__ex--photo { width:100%; }
.cmethods__ex .cmethods__ex--slide--item { width:100%; height:58vh; padding: 10vh 0 0 0; }
.cmethods__ex .cmethods__ex--slide--item img { object-fit: cover; object-position: center; width:100%; height:100%; }
.cmethods__ex .cmethods__ex--ex { width:100%; padding:5.5rem 7rem 8rem 1.75rem; }
.cmethods__ex .cmethods__ex--ex h3 { font-size: 1.8rem; font-weight: 400; line-height: 1.5em; margin:0 0 0 0;}
.cmethods__ex .cmethods__ex--ex p { font-size: 1.3rem; font-weight: 400; line-height: 1.5em; margin:0 0 1.25em 0; text-align: justify; }
.cmethods__ex .cmethods__ex--ex .mBtn { font-size: 1.3rem; margin:2rem 0 0 0; }

.cmethods__ex--photo--cap { font-size: 1.5rem; line-height: 1.5em; background-color: var(--color_w); padding:0.5em 1em 0.5em 1em; position: absolute; left:0; bottom:-5.5rem; }
.cmethods__ex--nav .cmethods__ex--prev,
.cmethods__ex--nav .cmethods__ex--next { position: absolute; bottom:0; font-size: 1.5rem; line-height: 4rem; text-align: center; background-color: var(--color_w); width:4rem; height:4rem; }

.cRecruitment { flex-direction: column; display:flex; justify-content: space-between; width: calc(100% - 3.25rem); margin:6rem auto; }
.cRecruitment .cRecruitment--left { width:100%; margin-bottom:var(--mg2); }
.cRecruitment .cRecruitment--left h2 { font-size: 2rem; line-height: 2em; margin: 0 0 1.5em 0; }
.cRecruitment .cRecruitment--right { width:100%; }
.cRecruitment .cRecruitment--right p { font-size: 1.3rem; font-weight: 400; line-height: 1.8em; margin:0 0 2em 0; text-align: justify; }

.cCommon { flex-direction: column; display:flex; justify-content: space-between; width: calc(100% - 3.25rem); margin:auto; padding:10rem 0 10rem 0; }
.cCommon .cCommon--article { width:100%; margin-bottom:3rem; }
.cCommon .cCommon--title { font-size: 1.8rem; line-height: 2em; margin: 0 0 0.75em 0; }
.cCommon .cCommon--date { font-size: 1.2rem; line-height: 1.5em; letter-spacing: 0.1em; }
.cCommon .cCommon--entry { margin-top:3rem; }
.cCommon .cCommon--entry h3 { font-size: 1.5rem; font-weight: 400; line-height: 1.8em; margin:2em 0 1em 0; }
.cCommon .cCommon--entry p { font-size: 1.3rem; font-weight: 400; line-height: 1.8em; margin:0 0 1em 0; text-align: justify; }
.cCommon .cCommon--entry p:last-child { margin-bottom:0; }
.cCommon .cCommon--entry img { margin:2rem 0; }
.cCommon .cCommon--entry ul { margin:2rem 0; }
.cCommon .cCommon--entry ol { margin:2rem 0 2rem 2rem; }
.cCommon .cCommon--entry ul li,
.cCommon .cCommon--entry ol li { font-size: 1rem; margin:2rem 0; }
.cCommon .cCommon--entry .aligncenter,
.cCommon .cCommon--entry .wp-caption.aligncenter { margin:2rem 0; }
.cCommon .cCommon--entry .alignleft,
.cCommon .cCommon--entry .wp-caption.alignleft { float: none; width:100% !important; margin:2rem 0 !important; }
.cCommon .cCommon--entry .alignright,
.cCommon .cCommon--entry .wp-caption.alignright { float: none; width:100% !important; margin:2rem 0 !important; }

.cCommon--nav { border-top:solid 1px var(--color_k); padding:2rem 0; width:100%; margin:2.5rem 0 0 0; font-size: 1.4rem; line-height: 1em; font-weight: 400; line-height: 2em; }
.cCommon--nav ul { display: flex; justify-content: center; }
.cCommon--nav li { margin:0; padding:0; }
.cCommon--nav li::after { content: "｜"; padding: 0 0.5em; }
.cCommon--nav li:last-child:after { content: ""; padding: 0; }
.cCommon--nav a { display: inline-block; padding-bottom: 0; border-top: none; border-bottom: solid 1px transparent; }
.cCommon--nav .current a,
.cCommon--nav a:hover,
.notes_blog .cCommon--nav .cCommon--nav--blog a,
.notes_hokago .cCommon--nav .cCommon--nav--hokago a,
.notes_note .cCommon--nav .cCommon--nav--note a,
.news_info .cCommon--nav .cCommon--nav--info a,
.news_recruitment .cCommon--nav .cCommon--nav--recruitment a { display: inline-block; border-top: none; border-bottom:solid 1px var(--color_k); }

.terms .cCommon,
.privacy .cCommon { padding-right:5rem; }

.cTable table { width:100%; border-bottom: solid 1px var(--color_k); }
.cTable table tr td { border-top:solid 1px var(--color_k); padding:0.35em 1em 0.35em 0; font-size: 1.1rem; line-height: 1.4em; }
.cTable table tr td:nth-child(1) { white-space: nowrap; }
.cTable table tr td:last-child { padding:0; text-align: right; }
.cTable table tr td:last-child { text-align: right; }

.cBanner { background-color: var(--color_w); flex-direction: column; padding:5rem 25vw; gap:1rem; display:flex; justify-content: space-between; align-items: center; }
.cBanner .cBanner--item img { height:4.5rem; width:auto; }

.cContactus { flex-direction: column; display:flex; justify-content: space-between; width:calc(100% - 3.25rem); margin:6rem auto; }
.cContactus .cContactus--left { order:1; width:100%; margin-bottom:var(--mg2); }
.cContactus .cContactus--left p { font-size: 1.3rem; font-weight: 400; line-height: 1.8em; margin:0 0 1.5em 0; text-align: justify; }
.cContactus .cContactus--left p:last-child { margin:0 0 0 0; }
.cContactus .cContactus--left p a { text-decoration: underline; }
.cContactus .cContactus--right { order: 2; width:100%; }
.cContactus .cContactus--right dl { display:flex; flex-wrap: wrap; flex-wrap: wrap; justify-content: space-between; align-items: center; font-size: 1.2rem; font-weight: 400; line-height: 1.8em; margin:0 0 2em 0; text-align: justify; }
.cContactus .cContactus--right dl .title { width:80%; font-weight: 400;}
.cContactus .cContactus--right dl .nes { width:10%; text-align: center; font-size: 0.8rem; font-weight: 500; line-height: 1em;  }
.cContactus .cContactus--right dl .req { background-color: var(--color_k); color:var(--color_w); padding:0.15em 0.5em; }
.cContactus .cContactus--right dl .opt { background-color: var(--color_gray); color:var(--color_k); padding:0.15em 0.5em; }
.cContactus .cContactus--right dl .ex { width:100%; padding:0.75em 0; margin-bottom: 1rem; }
.cContactus .cContactus--right dl dd input[type="text"],
.cContactus .cContactus--right dl dd input[type="email"],
.cContactus .cContactus--right dl dd input[type="tel"] { width:100%; background-color: var(--color_gray); padding:0.5em; }
.cContactus .cContactus--right dl dd select { width: 100%; background-color: var(--color_gray); padding:0.5em 2em; }
.cContactus .cContactus--right dl dd textarea { width:100%; height:10em; background-color: var(--color_gray); padding:0.2em; }
.cContactus .cContactus--right dl dd input[type="file"] { display:block; text-align: center; width:100%; margin: 0 0 1em 0; }
.cContactus .cContactus--right dl dd input[type="file"] { font-size: 1.2rem; line-height: 1em; white-space: nowrap; }
.cContactus .cContactus--right dl dd input[type="file"]::file-selector-button { width:100%; cursor:pointer; font-size: 1.2rem; line-height: 1em; border:none; margin:0 0 1em 0; border-radius: 2em; margin-right:1rem; padding: 1em 2em; text-align: center; display: block; }
.cContactus .cContactus--right dl dd input[type="file"]::file-selector-button:hover { background-color: var(--color_k); color:var(--color_w); }
.cContactus .cContactus--address { border-top:solid 1px var(--color_k); border-bottom: solid 1px var(--color_k); padding:1.5rem 0; margin:1.5rem 0; }

/* formWrap */
#formWrap { margin:2em 0; }
.formTable { width:100%; margin:2em 0; }
.formTable th { display: block; font-size: 1.3rem; line-height: 1.4em; width: 100%; border-top: solid 1px var(--color_k); padding: 0.5em 0 0.25em 0; }
.formTable td { display: block; font-size: 1.4rem; line-height: 1.4em;  width: 100%; border-top: none; padding: 0 0 0.5em 0; }

/* module */
.mCols--2 .cSec__item { width: 100%; margin-right: 0; }
.mCols--2 .cSec__item:nth-child(2n) { margin-right:0; }
.mCols--3 .cSec__item { width: 100%; margin-right: 0; }
.mCols--3 .cSec__item:nth-child(3n) { margin-right:0; }
.mCols--4 .cSec__item { width: 100%; margin-right: 0; }
.mCols--4 .cSec__item:nth-child(4n) { margin-right:0; }
.mCols--2 .cSec__item--all,
.mCols--3 .cSec__item--all,
.mCols--4 .cSec__item--all { width:100%; margin-right: 0; }
.works .mCols--3 .cSec__item:nth-child(n + 7) { display: block; }
.works .cSec__item__more { display:none; }
.works_ex .cSec__item__more { padding-bottom:15rem; }
.mBtn { display:block; text-align: center; padding:0.75em; font-size: 1.4rem; line-height: 1em; border:solid 1px var(--color_k); margin:var(--mg) 0 var(--mg2) 0; }
.mBtn:hover { background-color: var(--color_k); color:var(--color_w); }
.cSec__btn--02 { flex-direction: column; margin: 0 0 2em 0; }
.cSec__btn--02 .mBtn { width:100%; margin:0 0 1em 0; }
.mCols--2 .mBtn { margin:0; }
.cRecruitment .mBtn { margin: 2rem 0; }
.mObj-top picture img { object-position: top; }
.mObj-bottom picture img { object-position: bottom; }
.mScrool { margin:0 -1.75rem; flex-direction: row !important; flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; }
.mScrool::-webkit-scrollbar { display: none; }
.mScrool .cSec__item { width:80vw; flex: 0 0 auto; margin-left:var(--mg); }
.mScrool .cSec__item:last-child { margin-right:var(--mg); }

}

/* size */
html { font-size: clamp(7px, 1vw, 16px); }

@media screen and (max-width: 1024px) {
html { font-size: clamp(7px, 1.2vw, 16px); }
}

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