@charset "UTF-8";
/* ==========================================================================
foundation
==========================================================================*/
/* l-visual
-----------------------------------------------------------------*/
.l-visual { position: relative; }

#p-top-visual { width: 100%; background: #fefcf4; display: block; position: relative; z-index: 100; overflow: hidden !important; }

#p-top-visual ul { list-style: none; display: block; }

.p-top-visual__inner { position: relative; height: 100%; top: 0; left: 0; display: block; z-index: 0; }

.p-top-visual__inner:after { content: ""; width: 100%; height: 100%; position: absolute; top: 0; left: 0; right: 0; bottom: 0; }

.p-top-visual__inner * { max-width: inherit; }

.p-top-visual__inner ul { width: 100%; height: 100%; list-style: none; display: block; }

.p-top-visual__inner img.slideImg { height: 100%; width: auto; text-align: center; margin: 0 auto; display: block; }

.p-top-copy { color: #ffffff; font-size: 33px; font-size: 3.3rem; font-size: calc(20px + 1vw + 0.65vh); font-family: "FOT-筑紫A丸ゴシック Std B"; white-space: nowrap; -ms-writing-mode: tb-rl; -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl; -webkit-font-feature-settings: "normal"; font-feature-settings: "normal"; line-height: 1.787; text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25), 0 0 20px rgba(0, 0, 0, 0.45); position: absolute; top: 40px; top: 10vh; right: 10%; display: block; z-index: 1000; }

@media screen and (max-width: 767px) { .p-top-copy { width: 90%; font-size: 24px; font-size: 2.4rem; top: 7.5vh; } }

.p-top-copy span { display: block; -webkit-transform: translateY(-4%); -moz-transform: translateY(-4%); -ms-transform: translateY(-4%); -o-transform: translateY(-4%); transform: translateY(-4%); -webkit-transition: all 1000ms ease; -moz-transition: all 1000ms ease; -ms-transition: all 1000ms ease; -o-transition: all 1000ms ease; transition: all 1000ms ease; -webkit-transition-delay: 1000ms; -moz-transition-delay: 1000ms; -ms-transition-delay: 1000ms; -o-transition-delay: 1000ms; transition-delay: 1000ms; opacity: 0; }

.p-top-copy span:nth-child(2) { -webkit-transition-delay: 1600ms; -moz-transition-delay: 1600ms; -ms-transition-delay: 1600ms; -o-transition-delay: 1600ms; transition-delay: 1600ms; }

.p-top-copy span:nth-child(3) { -webkit-transition-delay: 2200ms; -moz-transition-delay: 2200ms; -ms-transition-delay: 2200ms; -o-transition-delay: 2200ms; transition-delay: 2200ms; }

.is-loaded .p-top-copy span { -webkit-transform: translateY(0); -moz-transform: translateY(0); -ms-transform: translateY(0); -o-transform: translateY(0); transform: translateY(0); opacity: 1; }

.is-resized .p-top-copy span { -webkit-transition: none; -moz-transition: none; -ms-transition: none; -o-transition: none; transition: none; -webkit-transition-delay: 0ms; -moz-transition-delay: 0ms; -ms-transition-delay: 0ms; -o-transition-delay: 0ms; transition-delay: 0ms; }

.p-top-scroll { position: absolute; bottom: 55px; left: 50%; -webkit-transform: translateX(-50%); -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -o-transform: translateX(-50%); transform: translateX(-50%); -webkit-transition: all 600ms ease; -moz-transition: all 600ms ease; -ms-transition: all 600ms ease; -o-transition: all 600ms ease; transition: all 600ms ease; -webkit-transition-delay: 2800ms; -moz-transition-delay: 2800ms; -ms-transition-delay: 2800ms; -o-transition-delay: 2800ms; transition-delay: 2800ms; display: block; z-index: 1000; opacity: 0; }

@media screen and (max-height: 526px), screen and (max-width: 966px) { .p-top-scroll { bottom: 105px; } }

.is-loaded .p-top-scroll { opacity: 1; }

.is-resized .p-top-scroll { -webkit-transition: none; -moz-transition: none; -ms-transition: none; -o-transition: none; transition: none; -webkit-transition-delay: 0ms; -moz-transition-delay: 0ms; -ms-transition-delay: 0ms; -o-transition-delay: 0ms; transition-delay: 0ms; }

.p-top-scroll a { width: 100%; height: 100%; color: #ffffff; font-size: 12px; font-size: 1.2rem; font-family: "FOT-筑紫A丸ゴシック Std B"; letter-spacing: 0.1em; text-decoration: none; text-transform: uppercase; display: block; }

.p-top-scroll a > span { width: 24px; height: 15px; display: block; position: absolute; top: 0; left: 50%; -webkit-transform: translateX(-50%); -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -o-transform: translateX(-50%); transform: translateX(-50%); }

.p-top-scroll a > span > span { width: 25px; height: 15px; background: url(../images/icon_scroll.svg) no-repeat center bottom/cover; display: block; -webkit-animation: sdb 1800ms infinite; -moz-animation: sdb 1800ms infinite; -ms-animation: sdb 1800ms infinite; -o-animation: sdb 1800ms infinite; animation: sdb 1800ms infinite; position: absolute; top: 15px; }

@-webkit-keyframes sdb { 0% { -webkit-transform: translate(0, 0);
    opacity: 0; }
  50% { opacity: 1; }
  100% { -webkit-transform: translate(0, 15px);
    opacity: 0; } }

@-moz-keyframes sdb { 0% { -moz-transform: translate(0, 0);
    opacity: 0; }
  50% { opacity: 1; }
  100% { -moz-transform: translate(0, 15px);
    opacity: 0; } }

@keyframes sdb { 0% { -webkit-transform: translate(0, 0); transform: translate(0, 0);
    opacity: 0; }
  50% { opacity: 1; }
  100% { -webkit-transform: translate(0, 15px); transform: translate(0, 15px);
    opacity: 0; } }

.p-top-recruit { padding: 3.3rem 5rem 4rem; background: url(../../images/recruit.jpg) no-repeat center center; background-size: cover; border-radius: 0.4rem; }

@media screen and (max-width: 767px) { .p-top-recruit { padding: 0.2rem 2rem 2.5rem; } }

.p-top-recruit .c-txt--message { margin-bottom: 1.5rem; letter-spacing: 0.085em; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25), 0 0 20px rgba(255, 255, 255, 0.45); }

@media screen and (max-width: 767px) { .p-top-recruit .c-txt--message { font-size: 17px; font-size: 1.7rem; margin-bottom: 1rem; } }

.p-top-recruit .c-txt-normal { text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25), 0 0 20px rgba(255, 255, 255, 0.45); }

@media screen and (max-width: 767px) { .p-top-recruit .c-txt-normal { font-size: 13px; font-size: 1.3rem; } }

.p-top-recruit__link { margin-top: 25px; margin-top: 2.5rem; width: 220px; width: 22rem; }

@media screen and (max-width: 767px) { .p-top-recruit__link { margin-top: 15px; margin-top: 1.5rem; width: 100%; } }

#p-top-about { margin-top: 58px; margin-top: 5.8rem; }

@media screen and (max-width: 767px) { #p-top-about { margin-top: 36px; margin-top: 3.6rem; } }

@media screen and (max-width: 767px) { #p-top-about .c-content__medium { width: 100%; } }

.p-top-about__message { margin-top: 58px; margin-top: 5.8rem; height: 420px; height: 42rem; position: relative; }

@media screen and (max-width: 767px) { .p-top-about__message { margin-top: 40px; margin-top: 4rem; height: auto; } }

.p-top-about__img { width: 60%; height: 420px; height: 42rem; float: right; display: block; background: url(../../images/about.jpg) no-repeat 40% center; background-size: cover; }

@media screen and (max-width: 767px) { .p-top-about__img { width: 100%; height: 340px; height: 34rem; float: none; } }

@media screen and (max-width: 514px) { .p-top-about__img { height: 240px; height: 24rem; } }

.p-top-about__txt { position: absolute; top: 50%; left: 0; right: 0; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -o-transform: translateY(-50%); transform: translateY(-50%); z-index: 10; }

@media screen and (max-width: 767px) { .p-top-about__txt { position: static; top: auto; -webkit-transform: translateY(0); -moz-transform: translateY(0); -ms-transform: translateY(0); -o-transform: translateY(0); transform: translateY(0); } }

.p-top-about__txt h3 { margin-bottom: 14px; margin-bottom: 1.4rem; }

@media screen and (max-width: 767px) { .p-top-about__txt h3 { margin-bottom: 9px; margin-bottom: 0.9rem; text-align: left; } }

.p-top-about__txt h3 span { display: block; }

@media screen and (max-width: 767px) { .p-top-about__txt h3 span { display: inline-block; } }

@media screen and (max-width: 767px) { .p-top-about__txt p br { display: none; } }

.p-top-about__txt .p-top-about__link { margin-top: 35px; margin-top: 3.5rem; width: 280px; width: 28rem; }

@media screen and (max-width: 767px) { .p-top-about__txt .p-top-about__link { margin-top: 15px; margin-top: 1.5rem; width: 100%; } }

#p-news { margin-top: 58px; margin-top: 5.8rem; word-wrap: break-word; }

@media screen and (max-width: 767px) { #p-news { margin-top: 36px; margin-top: 3.6rem; } }

.p-news__list { margin-top: 58px; margin-top: 5.8rem; border-top: 1px solid #e0e0e0; }

@media screen and (max-width: 767px) { .p-news__list { margin-top: 36px; margin-top: 3.6rem; } }

.p-news__list > li { border-bottom: 1px solid #e0e0e0; }

.p-news__title { padding-top: 13px; padding-top: 1.3rem; padding-bottom: 11px; padding-bottom: 1.1rem; width: 100%; display: table; position: relative; cursor: pointer; -webkit-transition: all 300ms ease; -moz-transition: all 300ms ease; -ms-transition: all 300ms ease; -o-transition: all 300ms ease; transition: all 300ms ease; }

.p-news__title:hover { background: rgba(79, 64, 48, 0.05); }

.p-news__title:after { content: ""; width: 14px; height: 8px; background: url(../images/icon_arrow_top--brown.svg) no-repeat left center/cover; position: absolute; top: calc(50% - 4px); -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -o-transform: translateY(-50%); transform: translateY(-50%); right: 15px; -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); }

@media screen and (max-width: 767px) { .p-news__title:after { right: 10px; } }

.p-news__title.is-open:after { -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); }

.is-important .p-news__title { color: #cd0101; font-weight: bold; background: #fff3ef; }

.is-important.-blue .p-news__title { color: #005fd9; background: #f3f8fb; }

.is-important.-green .p-news__title { color: #008000; background: #edf7e9; }

.is-red .p-news__title { color: #cd0101; font-weight: bold; }

.p-news__title .p-news__date { width: 18.8%; min-width: calc(5em + 15px); display: table-cell; }

@media screen and (max-width: 767px) { .is-important .p-news__title .p-news__date { padding-left: 15px; padding-left: 1.5rem; -webkit-box-sizing: border-box; box-sizing: border-box; } }

.p-news__title h3 { padding-right: 36px; padding-right: 3.6rem; text-decoration: underline; display: table-cell; vertical-align: middle; }

@media screen and (max-width: 767px) { .p-news__title h3 { padding-left: 15px; padding-left: 1.5rem; } }

.is-important .p-news__title h3, .is-red .p-news__title h3 { color: #cd0101; font-weight: bold; }

.is-important.-blue .p-news__title h3 { color: #005fd9; }

.is-important.-green .p-news__title h3 { color: #008000; }

.p-news__content { padding-top: 2px; padding-top: 0.2rem; padding-right: 36px; padding-right: 3.6rem; padding-bottom: 15px; padding-bottom: 1.5rem; padding-left: 18.8%; }

@media screen and (max-width: 767px) { .p-news__content { padding-right: 0; padding-left: 0; } }

.is-important .p-news__content { background: #fff3ef; }

@media screen and (max-width: 767px) { .is-important .p-news__content { padding-right: 15px; padding-right: 1.5rem; padding-left: 15px; padding-left: 1.5rem; } }

.is-important.-blue .p-news__content { background: #f3f8fb; }

.is-important.-green .p-news__content { background: #edf7e9; }

@media screen and (max-width: 965px) { .p-news__content p br { display: none; } }

.p-news__content blockquote { margin-top: 1.0rem; padding: 0.8em 1em; -webkit-box-sizing: border-box; box-sizing: border-box; display: block; background: rgba(79, 64, 48, 0.08); border-radius: 0.4rem; }

.is-important .p-news__content blockquote { background: rgba(255, 255, 255, 0.8); }
