@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Roboto:700');

/* =============================================================================
   base
   ========================================================================== */
main { display: block; }
html { background: #fff; color: #000; font-size: 62.5%; line-height: 1.5; }
body { font-family: YakuHanJP, "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif; text-align: center; -webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; word-wrap: break-word; }
body, div, pre, p, blockquote,a,form, fieldset, figure, input, textarea, select, option,button,label, select, textarea,table,tr,th,td,dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6,embed, object, header, footer, nav, article, aside, section, main { margin: 0; padding: 0; vertical-align: baseline; box-sizing: border-box; }
body, div, section, header, footer, nav, article, aside, main, dl, p, a { backface-visibility: hidden; }
a { color: #000; border-width:0; cursor: pointer; outline: 0; background-color: transparent; overflow: hidden; text-decoration: none; }
a:hover,
a:active,
a:focus { outline: 0; }
table { border-collapse: collapse; border-spacing: 0; }
td,
th { padding: 0; }
img { border-width:0; vertical-align: bottom; line-height: 0px; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }
ol, ul { list-style-type: none; }
em, strong { font-weight: bold; font-style: normal; }


/* =============================================================================
   common
   ========================================================================== */
img,
svg { max-width: 100%; height: auto; }
img[src$=".svg"] { max-width: 100%; }

#l-wrapper { min-width: 1040px; padding-top: 158px; }
@media only screen and (max-width: 1180px) {
  #l-wrapper { padding-top: calc(158px*.9); min-width: auto;}
}
@media only screen and (max-width: 800px) {
  #l-wrapper { }
}
@media only screen and (max-width: 640px) {
  #l-wrapper { padding-top: calc(158px*.8); }
}
@media only screen and (max-width: 480px) {
  #l-wrapper { padding-top: calc(158px*.6); }
}

#l-main { padding-bottom: 130px; }
@media only screen and (max-width: 640px) {
  #l-main { padding-bottom: calc(130px*.6); }
}
@media only screen and (max-width: 480px) {
  #l-main { padding-bottom: calc(130px*.5); }
}


/* =============================================================================
   utility
   ========================================================================== */
.u-section { max-width: 1000px; width: calc(590/640*100%); margin: 0 auto; text-align: left; }
.u-section.is-wide { max-width: 1220px; }

.u-pcNone { display: none; }
.u-cf::after { content: ""; clear: both; display: block; }
@media only screen and (max-width: 800px) {
    .u-spNone { display: none; }
    .u-pcNone { display: block; }
}

.u-target { transition: opacity .3s; }
.u-target:hover { opacity: .6; }
@media only screen and (max-width: 800px) {
    .u-target:hover { opacity: 1; }
}

.u-jp { font-family: YakuHanJP, YuGothic, "Yu Gothic", Meiryo, sans-serif; font-weight: bold; }
.u-jpmincho { font-family: "Yu Mincho", "YuMincho", "ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","ＭＳ Ｐ明朝","MS PMincho", sans-serif; font-weight: bold; }
.u-en { font-family: 'Roboto', sans-serif; }

.u-darkcolor { color: #231815; }
.u-greentxt { color: #004129; }

.u-animateblock { opacity: 0; }
@media only screen and (max-width: 800px) {
  .u-animateblock { opacity: 1; }
}

.u-noselection { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }

/* =============================================================================
   component
   ========================================================================== */
.c-play { border-width:0; background: transparent; -webkit-appearance: none; -moz-appearance: none; appearance: none; display: block; border-radius: 100%; position: relative; background-color: rgba(255, 255, 255, .61); display: inline-block; outline: 0;cursor: pointer  }
.c-play::before {content: "";position: absolute;top: 0;left: 0;margin: calc(10/82*100%) 0 0 calc(10/82*100%);width: calc(62/82*100%);padding-top: calc(62/82*100%);background-color: #fff;border-radius: 100%;z-index: 1;-webkit-animation: playcircle .2s ease-in-out;animation: playcircle .2s ease-in-out;-webkit-animation-fill-mode: forwards;animation-fill-mode: forwards;}
.c-play:hover::before {-webkit-animation: playcirclehover .2s ease-in-out;animation: playcirclehover .2s ease-in-out;-webkit-animation-fill-mode: forwards;animation-fill-mode: forwards;}
.c-play__icon { display: block; position: absolute; top: 50%;left: 50%;margin: calc(7/82*-100%) 0 0 calc(7/82*-100%);width: calc(14/82*100%);height: calc(14/82*100%);z-index: 2;fill: #004129; transition: fill .2s }
.c-play:hover .c-play__icon{fill: #fff;}
@-webkit-keyframes playcircle {
  0% { width: 100%; padding-top: 100%; margin: 0; background-color: #004129; }
  100% { width: calc(62/82*100%); padding-top: calc(62/82*100%); background-color: #fff;}
}
@keyframes playcircle {
  0% { width: 100%; padding-top: 100%; margin: 0; background-color: #004129;  }
  100% { width: calc(62/82*100%); padding-top: calc(62/82*100%); background-color: #fff;}
}
@-webkit-keyframes playcirclehover {
  0% { -webkit-transform: scale(1);transform: scale(1);background-color: #fff;}
  60% {-webkit-transform: scale(1.4);transform: scale(1.4);}
  100% {-webkit-transform: scale(1);transform: scale(1);width: 100%;padding-top: 100%;margin: 0;background-color: #004129;}
}
@keyframes playcirclehover {
  0% {-webkit-transform: scale(1);transform: scale(1);background-color: #fff;}
  60% {-webkit-transform: scale(1.4);transform: scale(1.4);}
  100% {-webkit-transform: scale(1);transform: scale(1);width: 100%;padding-top: 100%;margin: 0;background-color: #004129;}
}

.c-btnarrow__circle { fill: #004129; stroke: #fff; stroke-linejoin: round; stroke-width: 2px; opacity: 0.89; }
.c-btnarrow__path { fill: #fff; }

.c-btn { background-color: #004129; width: 570px; display: inline-block; position: relative; border-width:0;}
.c-btn__txt { display: block; line-height: 100px; font-size: 1.8rem; color: #fff;  }
.c-btn__icon { position: absolute; top: 50%; right: 30px; width: 44px; height: 44px; margin-top: -22px; }
@media only screen and (max-width: 640px) {
  .c-btn { width: 100%; }
}
@media only screen and (max-width: 480px) {
  .c-btn__txt { line-height: 80px; font-size: calc(1.8rem*.85); }
  .c-btn__icon { right: calc(30px*.8); width: calc(44px*.6); height: calc(44px*.6); margin-top: calc(-22px*.6); }
}

.c-txtbox,
.c-txtarea {border: 1px solid #828282; box-shadow: none; border-radius: 0; }
.c-txtbox { height: 48px;  padding: 0 10px;}
.c-txtarea { width: 800px; height: 174px; padding: 10px; }
.c-txtbox { width: 424px; }
.c-txtbox.is-small { width: 153px; }
.c-txtbox.is-mdl { width: 531px; }
.c-txtbox.is-wide { width: 800px; }
.c-radio__item { display: inline-block; vertical-align: middle; }
.c-radio__item:not(:first-child) { margin-left: 24px; }
.c-radio__item input { vertical-align: middle; margin-right: 7px; }
.is-sp .c-txtbox,
.is-sp .c-txtarea,
.is-sp .c-select,
.is-tab .c-txtbox,
.is-tab .c-txtarea,
.is-tab .c-select {
  appearance: none;
}
@media only screen and (max-width: 800px) {
  .c-txtarea { width: 100%; }
  .c-txtbox,
  .c-txtbox.is-mdl,
  .c-txtbox.is-wide { width: 100%; }
}
@media only screen and (max-width: 480px) {
  .c-txtbox.is-small { width: calc(153px*.8); }
}

/* =============================================================================
   common module
   ========================================================================== */
.cm-notarget { display: none; }
.lt-ie9 .cm-notarget { display: table; width: 100%; height: 100%; position: fixed; top: 0; left: 0; z-index: 99999; background-color: #fff; }
.lt-ie9 .cm-notarget-inner { display: table-cell; vertical-align: middle; }
.lt-ie9 .cm-notargetTitle { font-size: 20px; font-weight: bold; }
.lt-ie9 .cm-notargetTxt { margin: 25px 0 40px; font-size: 18px; line-height: 1.8; }
.lt-ie9 .cm-notargetBrowserItem { display: inline; zoom: 1; margin: 0 10px; }
.lt-ie9 .cm-notargetBrowserItem a { font-size: 16px; }

.cm-h__logo { position: absolute; top: 80px; left: 70px; z-index: 1; }
.cm-h__logoTxt { display: block; text-align: center; font-size: 1.9rem; color: #004129; line-height: 1; margin-top: 11px; letter-spacing: .12em; text-indent: .12em; }
.cm-nav { font-size: 0; text-align: left; }
.cm-nav .item { display: inline-block; }
.cm-nav .item.is-pchide { display: none; }
.cm-nav .item:not(:first-child) { margin-left: 34px; }
.cm-nav .item__target { font-size: 1.6rem; line-height: 1; }
.cm-h__nav,
.cm-h__infoNav { top: 0; right: 268px; height: 110px; padding: 0 32px; display: -webkit-box;display: -ms-flexbox;display: flex;  -webkit-box-align: center;-ms-flex-align: center;align-items: center; background-color: rgba(255, 255, 255, .8); }
.cm-h__nav { position: absolute; z-index: 9998; }
.cm-h__infoNav { position: fixed; opacity: 0; display: none; z-index: 9998; }
.cm-h__menu { position: fixed; top: 0; right: 0;  z-index: 9999; display: -webkit-box;display: -ms-flexbox;display: flex;  -webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between; }
.cm-h__menuBody { outline: 0; background: #e3ede7; border-width:0; appearance: none; cursor: pointer; width: 110px; height: 110px; display: -webkit-box;display: -ms-flexbox;display: flex; -webkit-box-align: center;-ms-flex-align: center;align-items: center; -webkit-box-pack: center;-ms-flex-pack: center;justify-content: center; }
.cm-h__menuBodyClose { display: none; }
.cm-h__menuBody.is-open .cm-h__menuBodyClose { display: block; }
.cm-h__menuBody.is-open .cm-h__menuBodyOpen { display: none; }
.cm-h__menuEntry { width: 158px; height: 158px; background-color: #004129; display: -webkit-box;display: -ms-flexbox;display: flex; -webkit-box-align: center;-ms-flex-align: center;align-items: center; -webkit-box-pack: center;-ms-flex-pack: center;justify-content: center; }
.cm-h__menuEntryIcon,
.cm-h__menuEntryTxt { display: block; }
.cm-h__menuEntryIcon { fill: #fff; width: 38px; height: 38px; margin: 0 auto 20px; }
.cm-h__menuEntryTxt { color: #fff; font-size: 1.8rem; line-height: 1; }
@media only screen and (max-width: 1180px) {
  .cm-h__logo { top: calc(80px*.9); left: calc(70px*.9); }
  .cm-h__logoImg { width: calc(150px*.9); }
  .cm-h__logoTxt { font-size: calc(1.9rem*.9); margin-top: calc(11px*.9); }
  .cm-nav .item:not(:first-child) { margin-left: calc(34px*.9); }
  .cm-nav .item__target { font-size: calc(1.6rem*.9); }
  .cm-h__nav,
  .cm-h__infoNav { right: calc(268px*.9); height: calc(110px*.9); padding: 0 calc(32px*.9); }
  .cm-h__menuBody { width: calc(110px*.9); height: calc(110px*.9); }
  .cm-h__menuEntry { width: calc(158px*.9); height: calc(158px*.9); }
  .cm-h__menuEntryIcon { width: calc(38px*.9); height: calc(38px*.9); margin-bottom: calc(20px*.9); }
  .cm-h__menuEntryTxt { font-size: calc(1.8rem*.9); }
}
@media only screen and (max-width: 800px) {
  .cm-h__logo { top: 20px; left: calc(25/640*100%); }
  .cm-h__logo a { display: -webkit-box;display: -ms-flexbox;display: flex; -webkit-box-align: center;-ms-flex-align: center;align-items: center; }
  .cm-h__logoImg { width: 93px; }
  .cm-h__logoTxt { font-size: 2.4rem; margin: 0 0 0 12px; }
  .cm-h.is-open .cm-h__logo { display: none; }
  .cm-h__nav { display: none; }
  .cm-h__infoNav { position: absolute; width: 100%; right: 0; height: auto; min-height: 100vh; padding: 110px 0; }
  .cm-nav { text-align: center; width: 100%; }
  .cm-nav .item { display: block; }
  .cm-nav .item.is-pchide { display: block; }
  .cm-nav .item:not(:first-child) { margin: calc(40/800*100vw) 0 0; }
  .cm-nav .item__target { font-size: calc(28/800*100vw); }
  .cm-h__menuEntry { width: calc(158px*.9); height: calc(158px*.9); }
  .cm-h__menuEntryIcon { width: calc(38px*.9); height: calc(38px*.9); margin-bottom: calc(20px*.9); }
  .cm-h__menuEntryTxt { font-size: calc(1.8rem*.9); }
}
@media only screen and (max-width: 640px) {
  .cm-h__logo { top: calc(20px*.8); }
  .cm-h__logoImg { width: calc(93px*.7); }
  .cm-h__logoTxt { font-size: calc(2.4rem*.7); margin-left: calc(12px*.7); }
  .cm-h__infoNav { padding: calc(110px*.8) 0; }
  .cm-nav { text-align: center; width: 100%; }
  .cm-h__menuBody { width: calc(110px*.8); height: calc(110px*.8); }
  .cm-h__menuEntry { width: calc(158*.8); height: calc(158*.8); }
  .cm-h__menuEntryIcon { width: calc(38px*.8); height: calc(38px*.8); margin-bottom: calc(20px*.8); }
  .cm-h__menuEntryTxt { font-size: calc(1.8rem*.8); }
}
@media only screen and (max-width: 480px) {
  .cm-h__logo { top: calc(20px*.6); }
  .cm-h__logoImg { width: calc(93px*.5); }
  .cm-h__logoTxt { font-size: calc(2.4rem*.5); margin-left: calc(12px*.5); }
  .cm-h__infoNav { padding: calc(110px*.6) 0; }
  .cm-nav .item:not(:first-child) { margin: calc(40/480*100vw) 0 0; }
  .cm-nav .item__target { font-size: calc(28/480*100vw); }
  .cm-h__menuBody { width: calc(110px*.6); height: calc(110px*.6); }
  .cm-h__menuBodyOpen { width: calc(34px*.8); }
  .cm-h__menuBodyClose { width: calc(27px*.8); }
  .cm-h__menuEntry { width: calc(158px*.6); height: calc(158px*.6); }
  .cm-h__menuEntryIcon { width: calc(38px*.7); height: calc(38px*.7); margin-bottom: calc(20px*.7); }
  .cm-h__menuEntryTxt { font-size: calc(1.8rem*.7); }
}


.cm-f__top { background-color: #ebf2ee; }
.cm-f__top .u-section { padding-top: 62px; overflow: hidden; text-align: center; }
.cm-f__topTxt { font-size: 2.4rem; }
.cm-f__topTxt .txt:first-child { margin-right: 25px; }
.cm-f__topTxt .br { display: none; }
.cm-f__topBtn { margin-top: 47px; }
.cm-f__topTitle { margin: 72px 0 -41px; }
.cm-f__btm { padding: 83px 0 50px; }
.cm-f.is-notop .cm-f__btm { padding-top: 0; }
.cm-f__btmMap { height: 380px; }
.cm-f__btmInfo { margin-top: 50px; position: relative; text-align: center; }
.cm-f__btmInfoFb { position: absolute; top: -20px; left: 20px; }
.cm-f__btmInfoFb a { width: 54px; height: 54px; transition: background-color .3s; background-color: #ebf2ee; border-radius: 50%; display: -webkit-box;display: -ms-flexbox;display: flex; -webkit-box-align: center;-ms-flex-align: center;align-items: center; -webkit-box-pack: center;-ms-flex-pack: center;justify-content: center; }
.cm-f__btmInfoFb a svg { fill: #004129; transition: fill .3s; }
.cm-f__btmInfoFb a:hover { background-color: #3B5998; }
.cm-f__btmInfoFb a:hover svg { fill: #fff; }
.cm-f__btmInfoAddress { font-size: 1.3rem; }
.cm-f__btmInfoCopy { position: absolute; top: 0; right: 12px; }
.cm-f__btmInfoCopy small { font-size: 1.3rem; }
@media only screen and (max-width: 800px) {
  .cm-f__topTxt .txt { display: block; }
  .cm-f__topTxt .txt:first-child { margin-right: 0; }
  .cm-f__topTitle { margin-bottom: calc(41/1000*-100%); }
  .cm-f__topTitle img { width: 100%; }
  .cm-f__btmInfoAddress { text-align: right; }
  .cm-f__btmInfoCopy { position: static; margin-top: 40px; }
  .cm-f__btmInfoFb a:hover { background-color: #ebf2ee; }
  .cm-f__btmInfoFb a:hover svg { fill: #004129; }
}
@media only screen and (max-width: 480px) {
  .cm-f__top .u-section { padding-top: calc(62px*.7); }
  .cm-f__topTxt { font-size: calc(2.4rem*.8); }
  .cm-f__topTxt .br { display: block; }
  .cm-f__topBtn { margin-top: calc(47px*.7); }
  .cm-f__topTitle { margin-top: calc(72px*.7); }
  .cm-f__btm { padding: calc(83px*.6) 0 calc(50px*.6); }
  .cm-f__btmMap { height: calc(380px*.7); }
  .cm-f__btmInfo { margin-top: calc(50px*.7); }
  .cm-f__btmInfoFb { top: calc(-20px*.7); left: 0; }
  .cm-f__btmInfoFb a { width: calc(54px*.7); height: calc(54px*.7); }
  .cm-f__btmInfoFb a svg { width: calc(8px*.7); }
  .cm-f__btmInfoAddress { font-size: calc(1.3rem*.85); }
  .cm-f__btmInfoCopy { margin-top: calc(40px*.8); }
  .cm-f__btmInfoCopy small { font-size: calc(1.3rem*.85); }
}

.cm-youtube { position: relative; padding-top: calc(315/560*100%); overflow: hidden; }
.cm-youtube::before { content: ""; display: block; background-color: rgba(0, 65, 41, .42); position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2; }
.cm-youtube iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.cm-youtube.is-play::before { display: none; }
.cm-youtube .c-play { position: absolute; top: 50%; left: 50%; z-index: 3; }
.cm-youtube__img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }
.cm-youtube__img img { display: block; width: 100%; }

.cm-interview { display: -webkit-box;display: -ms-flexbox;display: flex; -webkit-box-orient: horizontal;-webkit-box-direction: normal;-ms-flex-flow: row wrap;flex-flow: row wrap; }
.cm-interview__item { width: calc(377/1220*100%); margin-top: calc(60/1220*100%); text-align: center; }
.cm-interview__item:nth-child(1),
.cm-interview__item:nth-child(2),
.cm-interview__item:nth-child(3) {margin-top: 0;}
.cm-interview__item:not(:nth-child(3n+1)) {margin-left: calc(44/1220*100%);}
.cm-interview__item .target { display: block; }
.cm-interview__item .target__title { font-size: 3.4rem; line-height: 1; margin: 25px 0 11px; }
.cm-interview__item .target__txt { font-size: 1.4rem; }
.cm-interview__item .target__txt .line { margin: 0 7px; }
@media only screen and (max-width: 800px) {
  .cm-interview__item { width: calc(588/1220*100%); margin-top: 40px;}
  .cm-interview__item:nth-child(1),
  .cm-interview__item:nth-child(2) {margin-top: 0;}
  .cm-interview__item:nth-child(3) {margin-top: 40px;}
  .cm-interview__item:not(:nth-child(3n+1)) {margin-left: 0;}
  .cm-interview__item:not(:nth-child(2n+1)) {margin-left: calc(44/1220*100%);}
}
@media only screen and (max-width: 480px) {
  .cm-interview__item .target__title { font-size: calc(3.4rem*.7); margin: calc(25px*.8) 0 calc(11px*.8); }
  .cm-interview__item .target__txt { font-size: calc(1.4rem*.85); }
  .cm-interview__item .target__txt .txt01,
  .cm-interview__item .target__txt .txt02 { display: block; line-height: 1.8; }
  .cm-interview__item .target__txt .line { display: none; }
}


.cm-form { display: table; width: 100%; margin-top: 35px; border-top: 1px solid #d3d3d3; font-size: 1.6rem; }
.cm-form__row { display: table-row; }
.cm-form__rowTitle,
.cm-form__rowBody { display: table-cell; vertical-align: middle; padding: 21px 0 21px 12px; border-bottom: 1px solid #d3d3d3; }
.cm-form__rowTitle { font-weight: bold; width:180px; }
.cm-form__rowBody .list__item { display: inline-block; margin-left: 10px; }
.cm-form__rowBody .list__item:first-child { margin-left: 0; }
.cm-form__rowBody .row__date {
  display: flex; flex-wrap: wrap; gap: .4em;
}
.cm-form__rowBody .row__dateYear,
.cm-form__rowBody .row__dateMonth,
.cm-form__rowBody .row__dateDay {
  display: flex;
  align-items: center;
  margin-right: calc(22em/15);
  font-size: calc(15em/16);
}
.cm-form__rowBody .row__dateYeartxt {
  margin-left: calc(10em/15);
}
.wpcf7 .cm-form__rowBody .row__dateYear input {
  width: calc(145em/16);
}
.wpcf7 .cm-form__rowBody .row__dateMonth input,
.wpcf7 .cm-form__rowBody .row__dateDay input {
  width: calc(71em/16);
}
.p-form__bodyFormBtn{
  margin-top: calc(78em/16);
  text-align: center;
}
@media screen and (max-width: 480px) {
  .cm-form__rowBody .row__date {
    display: block;
  }
  .cm-form__rowBody .row__dateMonth,
  .cm-form__rowBody .row__dateDay {
    margin-top: 1em;
  }
  .wpcf7 .cm-form__rowBody .row__dateYear input,
  .wpcf7 .cm-form__rowBody .row__dateMonth input,
  .wpcf7 .cm-form__rowBody .row__dateDay input {
    width:160px;
  }
}

.wpcf7-text,
.wpcf7-number,
.wpcf7-textarea,
.wpcf7-select {
  appearance: none;
  font-size: 16px;
  width: 100%;
  border: 1px solid #d2d2d2;
  height: calc(60em/16);
  padding: 0 1em;
  background: #fff;
}
.wpcf7-text:focus-visible, 
.wpcf7-number:focus-visible,
.wpcf7-textarea:focus-visible,
.wpcf7-select:focus-visible {
  outline: 1px solid #d2d2d2;
  box-shadow: 0;
  outline-offset: 0;
}
.wpcf7-number::-webkit-outer-spin-button,
.wpcf7-number::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.wpcf7-number {
  -moz-appearance: textfield;
}

.wpcf7-text.is-narrow {
  max-width: calc(373em/16);
}
.wpcf7-textarea {
  padding: 1em;
  height: calc(170em/16);
}
.wpcf7-list-item {
  display: inline-block;
  font-size: calc(15em/16);
}
.wpcf7-list-item:not(:first-of-type) {
  margin-left: calc(27em/15);
}
.wpcf7-list-itemLabel {
  display: inline-flex;
  align-items: center;
}
.wpcf7-list-item-label {
  margin-left: calc(5em/15);
}

.wpcf7 { position:relative; clear:both; border-color:inherit; }
.wpcf7 .screen-reader-response { display:none; }
.wpcf7-form { position:relative; border-width:0; }
.wpcf7-form, .wpcf7-form::before, .wpcf7-form::after { transition:opacity var(--transition);}
.wpcf7-form > :first-child, .wpcf7-form > div[style="display: none;"]:first-child + * { margin-top:0; } /* wpcf7によって最初に吐き出されるhidden要素 */
.form-send .watermark { color:#d7072e; }
.form-box .wpcf7-radio, .form-box .wpcf7-checkbox { padding:16px 16px 8px 16px; background-color:var(--layer-color); display: inline-block; }
.form-box > p:first-child { margin:0; }
.wpcf7-list-item { font-size:16px; display:inline-block; padding:0; margin:0; }
.form-box { clear:both; width:auto; padding:16px 0 0; margin:0; position:relative; }
.small-form-box .wpcf7-form-control-wrap { width:15em }
.medium-form-box .wpcf7-form-control-wrap { width:30em; }
.form-head { clear:both; width:100%; margin:var(--column-gap) 0 0; padding:16px 0 0; }
.form-head h3 { font-size:1.1em; margin: 0; }
.form-head h4 { font-size:1em; margin: 0; }
.form-box em, .form-head em, .required { color:var(--caution-color); background-color:transparent; font-family:inherit; border-width:0; text-decoration:none; border-width:0; }
.form-box em::before, .form-head em::before, .required::before { content:' '; }
.wpcf7 .headword { display:block; padding:0; font-size:.875em; }
.wpcf7-form-control-wrap { padding:0; margin:0; display:block; position:relative; max-width:100%; }
.wpcf7-form-control-wrap + .wpcf7-form-control-wrap { margin-top:8px;}
.form-box-acceptance .wpcf7-form-control-wrap { border-width:0; }
.wpcf7 input[type="text"], .wpcf7 input[type="tel"], .wpcf7 input[type="email"], .wpcf7 input[type="number"], .wpcf7 input[type="url"], .wpcf7 input[type="date"], .wpcf7 input[type="password"] , .wpcf7 select { width:100%; /*padding-left:86px; */text-align:left; }
.wpcf7 .wpcf7-textarea { display:block; width:100%; resize:vertical; padding:12px 8px; margin:0!important; text-align:left; }
.form-send, .cf7mls-btns { clear:both; padding:0; margin:0; position:relative; }
.form-send .wpcf7-submit { width:100%; display:block; }
.wpcf7-form.ajaxsending .cf7mls-btns::before, .wpcf7-form.ajaxsending .form-send::before { display:block; content:''; background-color:transparent; border-width: 0; position:absolute; left: 0; top: 0; bottom: 0; right: 0; z-index: 2; } /* click block */
.form-box.no-border .wpcf7-form-control-wrap { border-color:transparent; background-color:transparent; }
.form-box.no-border .wpcf7-radio, .form-box.no-border .wpcf7-checkbox { padding:0; background-color:transparent; }
.captcha-box { display:block; background-color:var(--layer-color); padding:4px; font-size:11px; }
.captcha-box .captchac { float:left; display:block; line-height:36px; }
.captcha-box .captchac img { vertical-align:middle; }
.captcha-box::after { content:''; display:table; clear:both; }
.captcha-box .captchar input[type="text"] { float:right; display:block; width:100px; height:40px; }
.grecaptcha-badge { visibility: hidden; }
.recaptcha_policy { font-size:10px; margin:1em 0 0; color:gray; text-align:center; }
.wpcf7-not-valid-tip { position:absolute; top:1px; right:1px; z-index:10; }
.wpcf7-mail-sent-ok, .wpcf7-not-valid-tip, .wpcf7-mail-sent-ng, .wpcf7-spam-blocked, .wpcf7-validation-errors, .wpcf7-acceptance-missing, .wpcf7-not-valid-tip-no-ajax { color:#d7072e; border-width:0; background-color:#fff; font-weight:600; font-size:14px; padding:6px; line-height:1; }
.wpcf7-mail-sent-ok { display:none!important; }
/* .form-response,  */
.wpcf7-response-output { font-weight:600; text-align:center; padding:8px; font-size:14px; line-height:16px; vertical-align:middle; color:#d7072e;}
.wpcf7-response-output:empty, .wpcf7-form.sent .wpcf7-response-output { display:none }
.form-response { position:relative; margin:8px 0; z-index:2; height:32px; }
.form-response .wpcf7-response-output { position:absolute; top:0; left:0; right:0; bottom:auto; }
.wpcf7-form.submitting::before, .wpcf7-form.resetting::before, .wpcf7-form.sent::before { display:block; content:''; position:absolute; z-index:41; left:0; right:0; bottom:0; top:0; opacity:1; }
.wpcf7-form.submitting::after, .wpcf7-form.resetting::after { display:block; content:''; border-radius:50%; font-size:10px; width:6em; height:6em; margin:auto; position:absolute; opacity:1; z-index:42; left:0; right:0; bottom:calc(50vh - 3em); top:auto; border-width:.5em; border-style:solid; border-color:rgba(0,0,0,0.05) rgba(0,0,0,0.05) rgba(0,0,0,0.05) rgba(0,0,0,0.25); transform:translateZ(0); animation:load8 1.1s infinite linear; }
@keyframes load8 { 0% { transform:rotate(0deg); } 100% { transform:rotate(360deg); } }
.thankyou_message::after { content:'×'; display:block; position:absolute; right:0; top:0; }
.thankyou_message { display:none!important; position:absolute; top:0; left:0; right:0; bottom:0; z-index:49; font-size:1.5rem; }
.thankyou_message > div { text-align:center; position:absolute; bottom:160px; left:0; right:0; padding:3em; }
.thankyou_message > div > p { text-align:center; }
.thankyou_message .button { width: 100%; max-width:360px; margin:16px auto 0; }
.thankyou_message h2 { font-size:1.2em; text-align:center; font-weight:bold; color:#004129; }
.wpcf7-form.submitting > *, .wpcf7-form.resetting > *, .wpcf7-form.sent:not(.cf7mls) > * { opacity:.15;  }
.wpcf7-form.sent > .thankyou_message { display:block!important; opacity: 1; }

@media only screen and (max-width: 800px) {
    .cm-form { margin-top: 25px; }
    .cm-form__rowTitle,
    .cm-form__rowBody { padding: 16px 0; }
    .cm-form__rowTitle { width: 25%; }
    .cm-form__rowBody .list__item { margin-left: 8px; }
    .cm-form__rowBody .txt { margin-left: 8px; }
}
@media only screen and (max-width: 640px) {
    .cm-form,
    .cm-form__row,
    .cm-form__rowTitle,
    .cm-form__rowBody { display: block; }
    .cm-form__rowTitle,
    .cm-form__rowBody { padding: 25px 0; }
    .cm-form__rowTitle { width: 100%; padding-bottom: 0; border-bottom: none; margin-bottom: 10px; }
    .cm-form__rowBody { padding-top: 0; }
}
@media only screen and (max-width: 480px) {
    .cm-form { margin-top: 18px; font-size: calc(1.6rem*.85); }
    .cm-form__rowTitle { padding-top: 18px; margin-bottom: 8px; }
    .cm-form__rowBody { padding-bottom: 18px; }
    .cm-form__rowBody .list__item { margin-left: 6px; }
    .cm-form__rowBody .txt { margin-left: 6px; }
}


/* =============================================================================
   page
   ========================================================================== */
.p-top__mv { position: relative; }
.p-top__mvVideo { width: calc(100% - 321px); padding-top: calc(576/1600*100%); position: relative; margin-left: 321px; overflow: hidden; }
/* .p-top__mvVideo::before { content: ""; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(255, 255, 255, .4); z-index: 1; } */
.p-top__mvVideo video { position: absolute; top: 50%; left: 50%; width: 100%; height: 100%; min-width: 177.77vh;  min-height: 56.25vw; transform: translate3d(-50%, -50%, 0px); z-index: 0; }
.p-top__img { width: calc(100% - 321px); height:auto; padding-top: calc(576/1600*100%); position: relative; margin-left: 321px; overflow: hidden; }
/* .p-top__mvVideo::before { content: ""; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(255, 255, 255, .4); z-index: 1; } */
.p-top__img img { position: absolute; top: 50%; left: 50%; width: 100%; height: 100%; object-fit:cover; object-position:center right; transform: translate3d(-50%, -50%, 0px); z-index: 0; }

.p-top__mvTxt,
.p-top__mvTitle .path { opacity: 0; }
.p-top__mvTxt { position: absolute; top: 0; left: 92px; margin-top: calc(270/1600*100%); z-index: 2; }
.p-top__mvTitle { position: absolute; top: 0; left: 54px; margin-top: calc(507/1600*100%); z-index: 2; }
.p-top__mvTitle svg { overflow: inherit; }
.p-top__mvTitle .path { fill:#004129; display: inline-block; }
.p-top__mvImg { display: none; }
@media only screen and (max-width: 1620px) {
  .p-top__mvTxt { width: calc(236/1620*100%); }
  .p-top__mvTitle { width: calc(1019/1620*100%); }
}
@media only screen and (max-width: 800px) {
  .p-top__mvVideo { display: none; }
  .p-top__img { display: block; width: calc(600/800*100%); margin-left: calc(200/800*100%);padding-top:60%; }
  .p-top__mvImg { display: block; width: calc(600/800*100%); margin-left: calc(200/800*100%); }
  .p-top__mvImgSlider .item { width: 100%; height: calc(440/800*100vw); background-repeat: no-repeat; background-position: center center; background-size: cover; }
  .p-top__mvImgSlider .item.is-01 { background-image: url("../images/top/mv-imgsp01.jpg"); }
  .p-top__mvImgSlider .item.is-02 { background-image: url("../images/top/mv-imgsp02.jpg"); }
  .p-top__mvImgSlider .item.is-03 { background-image: url("../images/top/mv-imgsp03.jpg"); }
  .p-top__mvImgSlider .item.is-04 { background-image: url("../images/top/mv-imgsp04.jpg"); }
  .p-top__mvImgSlider .item.is-05 { background-image: url("../images/top/mv-imgsp05.jpg"); }
  .p-top__mvTxt { left: calc(18/800*100%); margin-top: calc(195/800*100%); width: calc(213/800*100%); }
  .p-top__mvTitle { left: calc(34/800*100%);  margin-top: calc(410/800*100%); width: calc(659/800*100%); }
}
@media only screen and (max-width: 640px) {
  .p-top__mvVideo { padding-top: calc(900/1600*100%); }
}

.p-top__about { padding-top: 205px; display: -webkit-box;display: -ms-flexbox;display: flex; -webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between; }
.p-top__aboutImg { width: calc(400/1220*100%); }
.p-top__aboutImg-inner { padding-top: calc(83/460*100%); }
.p-top__aboutTxt { width: calc(710/1220*100%); line-height: 1.8; letter-spacing: .06em; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl;  writing-mode: vertical-rl; text-orientation: upright; font-size: 1.7rem; }
.p-top__aboutTxt p:not(:first-child) { margin-right: 35px; }
@media only screen and (max-width: 1620px) {
  .p-top__about { padding-top: calc(205/1620*100%); }
}
@media only screen and (max-width: 1320px) {
  .p-top__aboutTxt { font-size: calc(1.7rem*.9); }
  .p-top__aboutTxt p:not(:first-child) { margin-right: calc(35px*.9); }
}
@media only screen and (max-width: 1160px) {
  .p-top__aboutImg { width: calc(320/1220*100%); }
}
@media only screen and (max-width: 800px) {
  .p-top__about { display: block; padding-top: calc(130/800*100%); }
  .p-top__aboutImg { width: calc(760/1220*100%); margin:0 auto;}
  .p-top__aboutImg-inner { padding-top: 0; }
  .p-top__aboutTxt { margin-top: 40px; width: 100%; -webkit-writing-mode:horizontal-tb; -ms-writing-mode:lr-tb; writing-mode:horizontal-tb; text-orientation: mixed; }
  .p-top__aboutTxt p:not(:first-child) { margin: 25px 0 0 0; }
}
@media only screen and (max-width: 480px) {
  .p-top__aboutImg { width: 100%; }
}


.p-top__greeting { position: relative; padding-top: 185px; }
.p-top__greeting::before { content: ""; z-index: 0; display: block; position: absolute; top: 217px; left: calc( ( (100% - 1000px) / 2 ) + 90px ); width: calc( ( (100% - 1000px) / 2 ) + (1000px - 90px) ); height: 549px; background-color: #ebf2ee; }
.p-top__greetingTitle,
.p-top__greetingTxt,
.p-top__greetingMovie { position: relative; z-index: 1; }
.p-top__greetingTitle img { display: block; margin-right: -164px; float: right; }
.p-top__greetingTxt { margin: 30px 0 35px; }
.p-top__greetingTxt .title { font-size: 3.2rem; margin-bottom: 10px; }
.p-top__greetingTxt .txt { font-size: 1.5rem; line-height: 1.8; }
.p-top__greetingMovieBody { padding-top: calc(315/560*100%); background-color: #000; overflow: hidden }
.p-top__greetingMovieBody .c-play {width: 102px;height: 102px; margin: -51px 0 0 -51px;}
.p-top__greetingMovieTxt { text-align: right; font-size: 1.7rem; margin-top: 15px; }
.p-top__greetingMovieTxt .txt:first-child { margin-right: 20px; }
@media only screen and (max-width: 1390px) {
  .p-top__greetingTitle img { margin-right: -70px; }
}
@media only screen and (max-width: 1200px) {
  .p-top__greetingTitle img { margin-right: -40px; }
}
@media only screen and (max-width: 1130px) {
  .p-top__greetingTitle img { margin-right: 0; }
}
@media only screen and (max-width: 800px) {
  .p-top__greeting { padding-top: 105px; }
  .p-top__greeting::before { top: 137px; left: 0; width: 100%; height: calc(100% - 57px); }
  .p-top__greetingTitle img { width: 100%; }
}
@media only screen and (max-width: 640px) {
  .p-top__greeting { padding-top: calc(105px*.7); }
  .p-top__greeting::before { top: calc(137px*.7); height: calc(100% - ( 57px*.7 )); }
}
@media only screen and (max-width: 480px) {
  .p-top__greeting { padding-top: calc(105px*.6); }
  .p-top__greeting::before { top: calc(137px*.6); height: calc(100% - ( 57px*.6 )); }
  .p-top__greetingTxt { margin: calc(30px*.7) 0 calc(35px*.7); }
  .p-top__greetingTxt .title { font-size: calc(3.2rem*.85); }
  .p-top__greetingTxt .txt { font-size: calc(1.5rem*.85); }
  .p-top__greetingMovieTxt { font-size: calc(1.7rem*.85); }
  .p-top__greetingMovieTxt .txt { display: block; }
  .p-top__greetingMovieTxt .txt:first-child { margin: 0 0 8px 0; }
}

.p-top__interview{ padding-top: 186px; }
.p-top__interviewTitle { text-align: center; }
.p-top__interviewTitle .en,
.p-top__interviewTitle .jp { display: block; line-height: 1; }
.p-top__interviewTitle .jp { font-size: 2.6rem; margin-top: 23px; letter-spacing: .04em; text-indent: .04em; }
.p-top__interviewList { margin-top: 52px; }
@media only screen and (max-width: 800px) {
  .p-top__interview{ padding-top: 160px; }
}
@media only screen and (max-width: 640px) {
  .p-top__interview{ padding-top: calc(160px*.7); }
}
@media only screen and (max-width: 480px) {
  .p-top__interview{ padding-top: calc(160px*.6); }
  .p-top__interviewTitle .jp { font-size: calc(2.6rem*.85); margin-top: calc(23px*.8); }
  .p-top__interviewList { margin-top: calc(52px*.8); }
}


.pm-interview__block:not(:first-child) { margin-top: 65px; }
.pm-interview__blockTitle { font-size: 2.7rem; margin-bottom: 16px; }
.pm-interview__blockTxt p { font-size: 1.6rem; line-height: 2; }
.pm-interview__blockTxt p:not(:first-child) { margin-top: 25px; }
@media only screen and (max-width: 480px) {
  .pm-interview__block:not(:first-child) { margin-top: calc(65px*.7); }
  .pm-interview__blockTitle { font-size: calc(2.7rem*.7); margin-bottom: calc(16px*.8); }
  .pm-interview__blockTxt p { font-size: calc(1.6rem*.85); }
  .pm-interview__blockTxt p:not(:first-child) { margin-top: calc(25px*.8); }
}

.p-interview { padding-top: 179px; }
@media only screen and (max-width: 1620px) {
  .p-interview { padding-top: calc(179px*.9); }
}
@media only screen and (max-width: 800px) {
  .p-interview { padding-top: 80px; }
}
@media only screen and (max-width: 640px) {
  .p-interview { padding-top: calc(80px*.8); }
}
@media only screen and (max-width: 480px) {
  .p-interview { padding-top: calc(80px*.6); }
}
.p-interview__mv { position: relative; }
.p-interview__mvTitle { position: absolute; z-index: 1; top: -48px; right: 79px; }
.p-interview__mvTitle svg { overflow: inherit; }
.p-interview__mvTitle .path { fill: #004129; opacity: 0; }
.p-interview__mvBody { position: relative; z-index: 0; display: -webkit-box;display: -ms-flexbox;display: flex; }
.p-interview__mvBodyImg { width: calc(1005/1600*100%); height: 601px; background-position: center center; background-repeat: no-repeat; background-size: cover; }
.p-interview__mvBodyTxt { padding: 332px 0 0 50px; text-align: left; }
.p-interview__mvBodyTxt .name__jp,
.p-interview__mvBodyTxt .name__en { display: block; line-height: 1; }
.p-interview__mvBodyTxt .name__jp { font-size: 5rem; letter-spacing: .08em; }
.p-interview__mvBodyTxt .name__en { font-size: 2.2rem; font-weight: bold; margin-top: 20px; letter-spacing: .06em; }
.p-interview__mvBodyTxt .txt { margin-top: 58px; font-size: 1.4rem; letter-spacing: .06em; }
.p-interview__mvBodyTxt .name__jp,
.p-interview__mvBodyTxt .name__en,
.p-interview__mvBodyTxt .txt { opacity: 0; }
@media only screen and (max-width: 1620px) {
  .p-interview__mvTitle { top: calc(-48px*.9); right: calc(79px*.9); }
  .p-interview__mvTitle img { width: calc(862px*.9); }
}
@media only screen and (max-width: 1480px) {
  .p-interview__mvBodyImg { height: calc(601px*.9); }
  .p-interview__mvBodyTxt { padding-top: calc(332px*.9) }
}
@media only screen and (max-width: 1280px) {
  .p-interview__mvBodyImg { height: calc(601px*.8); }
  .p-interview__mvBodyTxt { padding-top: calc(332px*.8) }
  .p-interview__mvTitle { top: calc(-48px*.8); right: calc(79px*.8); }
  .p-interview__mvTitle img { width: calc(862px*.8); }
}
@media only screen and (max-width: 800px) {
  .p-interview__mvTitle { right: auto; left: calc(25/640*100%); width: calc(590/640*100%); top: 0; margin-top: calc(35/800*-100%); }
  .p-interview__mvBody { display: block; }
  .p-interview__mvBodyImg { width: 100%; height: calc(450/800*100vw); }
  .p-interview__mvBodyTxt { padding: 0; width: calc(590/640*100%); margin: 35px auto 0; }
}
@media only screen and (max-width: 480px) {
  .p-interview__mvBodyTxt { margin-top: 25px; }
  .p-interview__mvBodyTxt .name__jp { font-size: calc(5rem*.7); }
  .p-interview__mvBodyTxt .name__en { font-size: calc(2.2rem*.8); margin-top: calc(20px*.7); }
  .p-interview__mvBodyTxt .txt { margin-top: calc(58px*.5); font-size: calc(1.4rem*.85); }
}

.p-interview__intro { padding-top: 68px; }
.p-interview__second { padding-top: 120px; display: -webkit-box;display: -ms-flexbox;display: flex; -webkit-box-align: center;-ms-flex-align: center;align-items: center; -webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between; -webkit-box-orient: horizontal;-webkit-box-direction: reverse;-ms-flex-direction: row-reverse;flex-direction: row-reverse; }
.p-interview__second .pm-interview__block { width: calc(532/1000*100%); margin-top: 0; }
.p-interview__secondImg { width: calc(513/1000*100%); margin-right: calc(110/1000*-100%); }
.p-interview__third { padding-top: 85px; }
.p-interview__last { padding-top: 70px; }
.p-interview__lastImg { margin-bottom: 50px; }
@media only screen and (max-width: 1300px) {
  .p-interview__secondImg { width: calc(483/1000*100%); margin-right: calc(80/1000*-100%); }
}
@media only screen and (max-width: 1240px) {
  .p-interview__secondImg { width: calc(453/1000*100%); margin-right: calc(50/1000*-100%); }
}
@media only screen and (max-width: 1170px) {
  .p-interview__secondImg { width: calc(423/1000*100%); margin-right: calc(20/1000*-100%); }
}
@media only screen and (max-width: 1110px) {
  .p-interview__secondImg { width: calc(403/1000*100%); margin-right: 0; }
}
@media only screen and (max-width: 640px) {
  .p-interview__intro { padding-top: calc(68px*.7); }
  .p-interview__second { padding-top: calc(120px*.7); display: block; }
  .p-interview__second .pm-interview__block { width: 100%; }
  .p-interview__secondImg { width: 100%; }
  .p-interview__secondImg img { width: 100%; margin-bottom: 25px; }
  .p-interview__third { padding-top: calc(85px*.7); }
  .p-interview__last { padding-top: calc(70px*.7); }
  .p-interview__lastImg { margin-bottom: calc(50px*.7); }
}
@media only screen and (max-width: 480px) {
  .p-interview__intro { padding-top: calc(68px*.6); }
  .p-interview__second { padding-top: calc(120px*.6); }
  .p-interview__secondImg img { margin-bottom: calc(25px*.7); }
  .p-interview__third { padding-top: calc(85px*.6); }
  .p-interview__last { padding-top: calc(70px*.6); }
  .p-interview__lastImg { margin-bottom: calc(50px*.6); }
}

.p-interview__other { padding-top: 138px; }
.p-interview__otherTitle { text-align: center; }
.p-interview__otherTitle .en,
.p-interview__otherTitle .jp { display: block; line-height: 1; }
.p-interview__otherTitle .jp { font-size: 2.6rem; margin-top: 15px; }
@media only screen and (max-width: 640px) {
  .p-interview__other { padding-top: calc(138px*.7); }
}
@media only screen and (max-width: 480px) {
  .p-interview__other { padding-top: calc(138px*.6); }
  .p-interview__otherTitle .en img { width: calc(369px*.7); }
  .p-interview__otherTitle .jp { font-size: calc(2.6rem*.8); margin-top: calc(15px*.8); }
}


.p-horita .p-interview__mvBodyImg { background-image: url("../images/horita/mv-img.jpg"); }
.p-murata .p-interview__mvBodyImg { background-image: url("../images/murata/mv-img.jpg"); }
.p-tanaka .p-interview__mvBodyImg { background-image: url("../images/tanaka/mv-img.jpg"); }
.p-mukai .p-interview__mvBodyImg { background-image: url("../images/mukai/mv-img.jpg"); }
.p-moriya .p-interview__mvBodyImg { background-image: url("../images/moriya/mv-img.jpg"); }


.p-entry { padding-top: 66px; }
@media only screen and (max-width: 1620px) {
  .p-entry { padding-top: calc(66px*.9); }
}
@media only screen and (max-width: 640px) {
  .p-entry { padding-top: calc(80px*.8); }
}
@media only screen and (max-width: 480px) {
  .p-entry { padding-top: calc(80px*.6); }
}

.p-entry__title { text-align: center; }
.p-entry__title .en,
.p-entry__title .jp { display: block; line-height: 1; }
.p-entry__title .jp { font-size: 3.4rem; margin-top: 25px; letter-spacing: .04em; text-indent: .04em; }
.p-entry__txt { margin: 36px 0 40px; font-size: 1.6rem; line-height: 1.8; text-align: center; }
@media only screen and (max-width: 640px) {
  .p-entry__title .en img { width: calc(404px*.8); }
  .p-entry__title .jp { font-size: calc(3.4rem*.8); margin-top: calc(25px*.8); }
}
@media only screen and (max-width: 480px) {
  .p-entry__title .en img { width: calc(404px*.7); }
  .p-entry__title .jp { font-size: calc(3.4rem*.7); margin-top: calc(25px*.7); }
  .p-entry__txt { margin: calc(36px*.8) 0 calc(40px*.8); font-size: calc(1.6rem*.85) }
}

.p-entry__formBtn { margin-top: 60px; text-align: center; }
.p-entry__formBtnBodyLoad,
.p-entry__formResult { margin-top: 20px; text-align: center; }
.p-entry__formBtnBodyLoad { display: none; }
.p-entry__formResult p { font-size: 1.6rem; line-height: 1.9; border: 2px solid #004129; display: none; padding: 20px; background-color: #fff; }
@media only screen and (max-width: 480px) {
  .p-entry__formBtn {  margin-top: calc(60px*.8); }
  .p-entry__formBtnBodyLoad,
  .p-entry__formResult { margin-top: calc(20px*.8); }
  .p-entry__formResult p { font-size: calc(1.6rem*.85); padding: calc(20px*.7); text-align: left; }
}


.p-requirements { padding-top: 66px; }
@media only screen and (max-width: 1620px) {
  .p-requirements { padding-top: calc(66px*.9); }
}
@media only screen and (max-width: 640px) {
  .p-requirements { padding-top: calc(80px*.8); }
}
@media only screen and (max-width: 480px) {
  .p-requirements { padding-top: calc(80px*.6); }
}

.p-requirements__title { text-align: center; }
.p-requirements__title .en,
.p-requirements__title .jp { display: block; line-height: 1; }
.p-requirements__title .jp { font-size: 3.4rem; margin-top: 25px; letter-spacing: .04em; text-indent: .04em; }
@media only screen and (max-width: 640px) {
  .p-requirements__title .en img { width: calc(540px*.8); }
  .p-requirements__title .jp { font-size: calc(3.4rem*.8); margin-top: calc(25px*.8); }
}
@media only screen and (max-width: 480px) {
  .p-requirements__title .en img { width: calc(540px*.6); }
  .p-requirements__title .jp { font-size: calc(3.4rem*.7); margin-top: calc(25px*.7); }
}

.p-requirements__body { margin-top: 60px; }
.p-requirements__bodyBlock:not(:first-child) { margin-top: 55px; }
.p-requirements__bodyBlockTitle { text-align: center; font-size: 2.4rem; margin: 18px 0; }
.p-requirements__bodyTxt { font-size:1.7rem; margin:24px 0; text-align:center; }
.p-requirements__bodyBlockTbl { display: table; width: 100%; }
.p-requirements__bodyBlockTbl .row { display: table-row; }
.p-requirements__bodyBlockTbl .row__title,
.p-requirements__bodyBlockTbl .row__txt { display: table-cell; padding: 20px 0; font-size: 1.6rem; line-height: 1.8; }
.p-requirements__bodyBlockTbl .row__title { padding-left: 28px; width: 145px; font-weight: bold; }
.p-requirements__bodyBlockTbl .row__txtBlock { display: inline-block; }
.p-requirements__bodyBlockTbl .row__txtBlock:not(:first-child) { margin-left: 43px; }
.p-requirements__bodyBlockTbl .row:nth-child(odd) .row__title,
.p-requirements__bodyBlockTbl .row:nth-child(odd) .row__txt { background-color: #ebf2ee; }
.p-requirements__bodyBlockTbl .row__txt a { color: #00a0e9; text-decoration: underline; }
.p-requirements__bodyBlockTbl .row__txtTxt,
.p-requirements__bodyBlockTbl .row__txtCaution { display: inline-block; }
.p-requirements__bodyBlockTbl .row__txtCaution { margin-left: 20px; }
.p-requirements__bodyBlockTbl .row__txtTbl { width: 488px; }
.p-requirements__bodyBlockTbl .row__txtTbl th,
.p-requirements__bodyBlockTbl .row__txtTbl td { padding: 14px 0; letter-spacing: .08em; }
.p-requirements__bodyBlockTbl .row__txtTbl th { font-weight: normal; width: 130px; }
.p-requirements__bodyBlockTbl .row__txtTbl td:first-child { width: 121px; }
.p-requirements__bodyBlockTbl .row__txtTbl tr { border-bottom: 1px solid #c7c7c7; }
.p-requirements__bodyBlockTbl .row__txtTbl tr:first-child th,
.p-requirements__bodyBlockTbl .row__txtTbl tr:first-child td { padding-top: 0; }
.p-requirements__bodyBlockTbl .row__txtTbl tr.is-noborder { border-bottom: 0; }
.p-requirements__bodyBlockTbl .row__txtTbl tr.is-noborder th,
.p-requirements__bodyBlockTbl .row__txtTbl tr.is-noborder td { padding-bottom: 0; }
.p-requirements__bodyBlockTbl .row__txtTbl tr.is-nopad th,
.p-requirements__bodyBlockTbl .row__txtTbl tr.is-nopad td { padding-top: 0; }
.p-requirements__bodyBlockTbl .row__txtTbl tr:last-child { border-bottom: 0; }
@media only screen and (max-width: 480px) {
  .p-requirements__body { margin-top: calc(60px*.8); }
  .p-requirements__bodyBlock:not(:first-child) { margin-top: calc(55px*.8); }
  .p-requirements__bodyBlockTitle { font-size:calc(2.4rem*.8); margin: calc(18px*.8) 0; text-align:inherit; }
  .p-requirements__bodyTxt { font-size:1.6rem; margin:20px 0; text-align:inherit; }
  .p-requirements__bodyTxt br { display:none; }
  .p-requirements__bodyBlockTbl,
  .p-requirements__bodyBlockTbl .row { display: block; }
  .p-requirements__bodyBlockTbl .row { padding: calc(20px*.8); }
  .p-requirements__bodyBlockTbl .row__title,
  .p-requirements__bodyBlockTbl .row__txt { display: block; padding: 0; font-size: calc(1.6rem*.85); }
  .p-requirements__bodyBlockTbl .row__title { padding-left: 0; width: auto; margin-bottom: 5px; }
  .p-requirements__bodyBlockTbl .row__txtBlock { display: block; }
  .p-requirements__bodyBlockTbl .row__txtBlock:not(:first-child) { margin: 12px 0 0; }
  .p-requirements__bodyBlockTbl .row:nth-child(odd) .row__title,
  .p-requirements__bodyBlockTbl .row:nth-child(odd) .row__txt { background-color: transparent; }
  .p-requirements__bodyBlockTbl .row:nth-child(odd) { background-color: #ebf2ee; }
}

#single-offer { font-size:1.5rem; }
#single-offer .entry-header { margin-top:2rem}
#single-offer .entry-header-h2 { display:none; }
.excerpt-column { font-size:1.1em; font-weight:600; }
#single-offer .container, #archive-offers .container  { max-width:1080px; }
.recruit-column-1 { font-weight:bold; font-size:1.2em; }
#entry-offers { padding:2rem; position:relative; z-index:3; border-radius:0 8px 8px 0; }
#entry-offers h2 { display:inline-block; }
#entry-offers .entry-section { margin-top:0; }
#entry-offers .offer-image { overflow:hidden; position:relative; margin-bottom:8px; }
#entry-offers .offer-image::before { content:''; padding:60% 0 0; display:block; }
#entry-offers .offer-image img { display:block; position:absolute; width:100%; height:100%; left:0; top:0; right:0; bottom:0; object-fit:cover; }

.offer-entry-title { text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; margin:0 0 24px; }
.offer-entry-title h2 { font-size:1em; order:2 }
.offer-entry-title .en { font-size:2em; order:1; }
.offer-title { text-align:center; }
.offer_type_sort { display:block;  }
.offer-list { display:block; width:auto; margin:16px auto 0; font-size:1.5rem; text-align:left;}
.offer-list .offer-item { width:auto; margin:16px 0 0; }
.offer-list a { display:flex; flex-wrap:nowrap; align-items:flex-start; padding:16px; align-items:center; min-height: 96px; width: 100%; background:none; border-radius:0; border:1px solid #004129; }
.offer-list a::after { clear:both; content:''; display:table; }
.offer-list a:hover { color:inherit; border-color:inherit; opacity:.8;}
.offer-list .text { flex:3;margin:0; padding:0; display:table-cell; vertical-align:middle; line-height:1.4; overflow:hidden; }
.offer-list h3 { font-size:1.4em; line-height:1.4; font-weight:bold; margin:.3em 0 0; }
.offer-list .excerpt { margin:6px 0 0; line-height:1.5; }
.offer-list .image { flex:1; margin-right:16px; vertical-align:middle; position: relative;}
.offer-list .image::before { content:''; padding:100% 0 0; display:block; }
.offer-list .image img { width:100%; height:100%; object-fit:cover; position:absolute; left:0; top:0; }
.offer-list a:hover .image { opacity:.8; }
.offer-item .marks { display:flex; font-size:.875em; flex-wrap:wrap; gap:.5em; }
.offer-item .marks .mark { display:block; line-height:1.2; padding:.25em .75em; border-radius: 100px; border:1px solid currentColor; }

@media only screen and (max-width: 640px) {
  .offer-list {  font-size:1.4rem; }
}
@media only screen and (max-width: 480px) {
  .offer-list h3 { font-size:1.3em;}
  .offer-list a { display:block; position: relative; padding:12px; }
  .offer-list .excerpt { margin-left:116px; min-height:96px; }
  .offer-list .image { width:104px; position:absolute; left:12px; bottom:12px; }
}