﻿

/** トップページ **/

.top-firstview {
  position: relative;
}

.top-firstview .mv {
  width: 100%;
}

.hacobune-app-container {
  max-width: none !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.hacobune-unit-video-player {
  height: 65vh;
}

.hacobune-unit-video-wrap {
  height: 65vh;
}

.top-firstview .mv video {
  width: 100%;
  height: 65vh;
  -o-object-fit: cover;
  object-fit: cover;
}

.top-firstview .base-slider {
  position: relative;
  width: 55%;
  min-width: 800px;
  height: auto;
  overflow: hidden;
  z-index: 9;
}

.top-firstview .base-slider img {
  width: 100%;
}

.top-firstview .announcement {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: 55%;
  min-width: 800px;
  height: 56px;
  background-color: #212121;
  z-index: 9;
}

.top-firstview .announcement dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 30px;
}

.top-firstview .announcement dt {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 130px;
  color: #F44343;
  font-size: 1.4rem;
}

.top-firstview .announcement dd {
  color: #fff;
  font-size: 1.4rem;
}

.top-firstview .announcement dd a {
  color: #fff;
}

.catchcopy {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  min-width: 1140px;
  height: calc(100vh - 80px);
}

.top-firstview .vertical-txt {
  position: absolute;
  right: 200px;
  bottom: 64px;
  font-size: 3rem;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: .58em;
}

.top-firstview .scroll {
  position: absolute;
  right: 16px;
  bottom: 24px;
}

.top-firstview .scroll img {
  width: 8px;
}

.top-service {
  position: relative;
  margin-top: 160px;
}

.top-about {
  position: relative;
  margin-top: 200px;
}

.top-csv {
  position: relative;
  margin-top: 140px;
}

.top-recruit {
  position: relative;
  margin-top: 200px;
}

.top-news {
  margin-top: 200px;
}

.top-container .base-inner {
  position: relative;
}

.top-service .base-inner,
.top-about .base-inner,
.top-news .base-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.top-csv .base-inner {
  position: relative;
}

.top-service .base-inner .blk-content,
.top-about .base-inner .blk-content {
  width: 480px;
}

.top-service .base-inner .blk-content {
  padding-top: 30px;
}

.top-about .base-inner .blk-content {
  padding-top: 70px;
}

.top-csv .base-inner .blk-content {
  width: 820px;
  padding-top: 313px;
}

.top-recruit .base-inner .blk-content {
  width: 680px;
  margin: 40px 0 0 420px;
}

.top-container .base-inner .blk-content .base-paragraph {
  margin-top: 34px;
}

.top-csv .base-inner .blk-content .base-paragraph .ttl {
  font-size: 2rem;
}

.top-container .base-inner .blk-content .base-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 60px;
}

.top-about .base-inner .blk-content .base-btn,
.top-recruit .base-inner .blk-content .base-btn {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.top-service .base-inner .blk-img,
.top-about .base-inner .blk-img,
.top-csv .base-inner .blk-img {
  width: 540px;
}

.top-csv .base-inner .blk-img {
  position: absolute;
  top: 80px;
  right: 20px;
}

.top-service .base-inner {
  padding: 0;
}

.top-service-links {
  width: 100%;
  margin-top: 100px;
  border-bottom: 16px solid #F7F7F7;
}

.top-service-links ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  padding-top: 88px;
}

.top-service-links ul li {
  width: calc(100% / 5);
}

.top-service-links ul li:not(:last-child) {
  border-right: 1px solid #DBDBDB;
}

.top-service-links ul li a {
  display: block;
  position: relative;
  height: 100%;
  padding-bottom: 42px;
  background-color: #fff;
  text-decoration: none;
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
}

.top-service-links .blk-service-list-img {
  overflow: hidden;
}

.top-service-links .blk-service-list-img img {
  width: 100%;
  -webkit-transition: .72s ease;
  transition: .72s ease;
}

.top-service-links ul li a:hover .blk-service-list-img img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.top-service-links .blk-service-list-content {
  padding: 26px;
}

.top-service-links .ttl {
  font-size: 1.6rem;
  text-align: center;
}

.top-service-links .comment {
  margin-top: 16px;
  color: #808080;
  font-size: 1.4rem;
  line-height: 1.8;
}

.top-service-links .link-arw {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  position: absolute;
  bottom: 40px;
  right: 40px;
  width: 100%;
}

.top-csv-links {
  position: relative;
  width: 100%;
  min-height: 440px;
  margin-top: 100px;
  padding-top: 88px;
}

.top-csv-links ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 860px;
  margin: auto;
}

.csv-slider li {
  padding-right: 40px;
}

.top-csv-links ul li a,
.csv-slider a {
  display: block;
  position: relative;
  width: 260px;
  height: 100%;
  text-decoration: none;
}

.top-csv-links .blk-list-img img,
.csv-slider .blk-list-img img {
  width: 260px;
}

.top-csv-links .blk-list-content,
.csv-slider .blk-list-content {
  margin-top: 12px;
}

.top-csv-links .comment,
.csv-slider .comment {
  margin-top: 14px;
}

.top-news .base-inner .blk-news-list {
  width: 860px;
}

.blk-news-list li {
  padding-bottom: 24px;
  border-bottom: 1px solid #DBDBDB;
}

.blk-news-list li:not(:first-child) {
  margin-top: 24px;
}

.blk-news-list li a {
  display: block;
  text-decoration: none;
  -webkit-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

.blk-news-list li a:hover {
  opacity: .7;
}

.blk-news-list dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 0 24px;
}

.blk-news-list dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}

.blk-news-list .date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}

.blk-news-list dd {
  margin-top: 14px;
  font-size: 1.4rem;
  line-height: 1.8;
}

.blk-news-list .base-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 40px;
}

.blk-bg {
  display: block;
  position: absolute;
  background-color: #F7F7F7;
}

.top-service .blk-bg {
  top: 225px;
  left: 0;
  width: 58%;
  height: 440px;
}

.top-csv .blk-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 400px;
}

.top-csv-links .blk-bg {
  top: 0;
  left: auto;
  right: 0;
  width: 58%;
  height: 440px;
}

.top-recruit .blk-bg {
  top: 140px;
  left: 0;
  width: 48.6%;
  height: 460px;
}

/** 会社情報 **/

.about-item-list {
  position: relative;
  margin-top: 100px;
  padding-top: 100px;
}

.about-item-list .blk-bg {
  width: 58%;
  height: 580px;
  top: 0;
  right: 0;
}

/** 企業理念 **/

.about-domain {
  margin-top: 24px;
}

.domain-close-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  width: 1020px;
  margin-bottom: 16px;
  z-index: 1;
}

.domain-close-btn img {
  cursor: pointer;
}

.domain-modal-body {
  position: relative;
  width: 1000px;
  height: 76vh;
  padding: 40px 50px 50px;
  background-color: #fff;
  overflow: auto;
  z-index: 1;
}

.domain-modal-body img {
  height: 100%;
  margin: auto;
}

.about-logo ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 40px;
}

.about-logo .logo {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  min-width: 113px;
  margin: 16px 40px 0 0;
}

.about-logo .logo-ja {
  width: 96px;
}

.about-logo .logo-en {
  width: 113px;
}

.about-logo .base-paragraph {
  margin-top: 16px;
}

/** 拠点 **/

.map-close-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  width: 1020px;
  margin-bottom: 16px;
  z-index: 1;
}

.map-close-btn img {
  cursor: pointer;
}

.map-modal-scroll {
  height: 76vh;
  overflow: auto;
  z-index: 1;
}

.map-modal-body {
  position: relative;
  width: 1000px;
  padding: 40px 50px 50px;
  background-color: #fff;
}

.map-modal-body .name {
  font-size: 2.4rem;
}

.map-modal-body .embedded-map {
  margin-top: 10px;
}

.map-modal-body .embedded-map iframe {
  width: 900px;
  height: 380px;
}

.map-modal-body .info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 25px;
}

.map-modal-body .info dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.4rem;
  line-height: 1.8;
}

.map-modal-body .info dl + dl {
  margin-top: 16px;
}

.map-modal-body .info dt {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 80px;
}

.map-modal-body .blk-img {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  max-width: 568px;
  margin-left: 20px;
}

.corporate-container .sub-name {
  font-size: 1.8rem;
  letter-spacing: .16em;
}

.corporate-container .name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  letter-spacing: .16em;
}

.corporate-container .name-main {
  font-size: 2.8rem;
}

.corporate-container .name-sub {
  margin-left: 24px;
  font-size: 2rem;
}

.corporate-container .blk-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 20px;
}

.corporate-container .annotation {
  margin-top: 16px;
  color: #808080;
  font-size: 1.4rem;
}

.corporate-container .base-btn {
  margin-top: 40px;
}

.corporate-container .blk-img {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 380px;
  margin-left: 40px;
}

.corporate-container .blk-img ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.corporate-container .blk-img li + li {
  margin-left: 20px;
}

.sakuracube-top {
  margin-top: 100px;
}

/** 山櫻の丘 **/

.hill-container {
  width: 100%;
  margin: 40px auto 0;
}

.hill-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.hill-info > dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 860px;
  border-bottom: 1px solid #DBDBDB;
  font-size: 1.6rem;
  line-height: 2.2;
}

.hill-info > dl > dt {
  width: 160px;
  padding: 22px 0 22px 24px;
}

.hill-info > dl > dd:nth-child(2) {
  padding: 22px 24px 22px 0;
}

.hill-container .base-paragraph {
  margin-top: 30px;
}

/** 八王子の森工場 **/

.factory-img-1 {
  margin-top: 80px;
}

.factory-img-list-1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.factory-img-list-1 + .factory-img-list-2 {
  margin-top: 40px;
}

.factory-img-list-2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.factory-img-list-2 li {
  width: 340px;
}

.factory-img-list-2 li:not(:nth-child(3n)) {
  margin-right: 40px;
}

.factory-img-list-2 li:not(:nth-child(-n+3)) {
  margin-top: 40px;
}

.factory-img-list-2 li p {
  margin-top: 16px;
}

.factory-img-2 {
  margin-top: 40px;
}

.factory-img-txt-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 32px;
}

.factory-img-txt-container .blk-img {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 300px;
  margin-right: 40px;
}

.factory-img-txt-container .blk-img img + img {
  margin-top: 40px;
}

.factory-img-3 {
  margin-top: 50px;
}

.factory-map {
  margin-top: 40px;
}

/** 社長メッセージ **/

.message-container {
  position: relative;
  margin-top: 100px;
}

.message-container .blk-bg {
  top: 89px;
  right: 0;
  width: 48.6%;
  height: 800px;
}

.message-container .base-inner {
  position: relative;
}

.message-container .message-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.message-container .message-top-left {
  width: 600px;
}

.message-container .message-top-left h2 {
  font-size: 3.6rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.1em;
}

.message-container .message-top-left .comment {
  margin-top: 50px;
  font-size: 2.4rem;
  letter-spacing: .1em;
  line-height: 2.2;
}

.message-container .message-top-left .base-paragraph {
  margin-top: 40px;
}

.message-container .message-top-right {
  width: 400px;
}

.message-container .message-top-right .name {
  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;
  margin-top: 40px;
}

.message-container .message-top-right .name img {
  margin-left: 24px;
}

.message-container .message-bottom {
  margin-top: 100px;
}

.message-container .base-paragraph p + p {
  margin-top: 2.2em;
}

/** 山櫻のあゆみ **/

.base-history-container {
  position: relative;
  margin-top: 160px;
}

.history-line {
  position: absolute;
  top: 0;
  left: 570px;
  width: 1px;
  background-color: #DBDBDB;
}

.history-item {
  position: relative;
  padding: 0 0 40px;
}

.ttl-decade {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: auto;
  width: 120px;
  height: 120px;
}

.ttl-decade p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 120px;
  height: 120px;
  border-radius: 120px;
  background-color: #F0A0A3;
  text-align: center;
  color: #fff;
  font-size: 2.4rem;
}

.ttl-decade.row3 p {
  line-height: 1.3;
}

.ttl-decade p .small {
  font-size: 1.6rem;
}

.history-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: 100%;
  margin-top: 10px;
}

.history-content::before {
  content: '';
  display: block;
  position: absolute;
  top: 16px;
  left: 50%;
  width: 9px;
  height: 9px;
  border: 3px solid #DBDBDB;
  border-radius: 9px;
  background-color: #fff;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0)
}

.history-content.content-right {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.history-content .history-content-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  position: relative;
  width: 460px;
}

.history-content .year {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  width: 100%;
  font-size: 3rem;
}

.history-content .comment {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-top: 8px;
  font-size: 1.6rem;
}

.history-content .img,
.history-content .video {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  width: 100%;
  margin-top: 24px
}

.history-content .img img {
  height: 160px;
}

.history-content .img img + img {
  margin-left: 16px;
}

.history-content .video {
  z-index: 99;
}

.history-content .video button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 284px;
  height: 160px;
  padding: 0;
  margin: 0;
  position: relative;
  border: none;
  background-color: #BCBCBC;
  cursor: pointer;
}

.history-content .video button img {
  width: 284px;
  height: 160px;
  -o-object-fit: cover;
  object-fit: cover;
}

.history-content .video button::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 66px;
  height: 66px;
  background: url(../image/icon_btn_play.svg) center no-repeat;
  background-size: contain;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.history-content.content-left .year,
.history-content.content-left .comment,
.history-content.content-left .img,
.history-content.content-left .video {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  z-index: 9;
}

/** CSV **/

.csv-about {
  min-height: 64px;
  margin-top: 40px;
  border: 1px solid #DBDBDB;
  padding: 0 24px;
}

.csv-about dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.csv-about dt {
  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;
  height: 64px;
  font-size: 1.8rem;
  cursor: pointer;
}

.csv-about dd {
  display: none;
  padding-bottom: 16px;
}

.csv-list {
  position: relative;
  height: 440px;
  margin-top: 100px;
}

.csv-list .blk-bg {
  right: 0;
  width: 58.3%;
  height: 440px;
  top: 0;
}

.csv-slider {
  padding-top: 88px;
}

.csv-sdgs {
  margin-top: 100px;
}

.sdgs-mv {
  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;
}

.sdgs-list {
  margin-top: 100px;
}

.sdgs-list li {
  padding: 100px 0;
  border-top: 1px solid #DBDBDB;
}

.sdgs-list .blk-list-ttl {
  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;
}

.sdgs-list li:nth-child(even) .blk-list-ttl {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.sdgs-list .blk-list-ttl .ttl {
  font-size: 2.4rem;
}

.sdgs-list .blk-list-ttl .icon-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.sdgs-list .blk-list-ttl .icon-list img {
  width: 100px;
}

.sdgs-list .blk-list-ttl .icon-list img + img {
  margin-left: 20px;
}

.sdgs-list .blk-list-ttl .icon-list div + div {
  margin-left: 20px;
}

.sdgs-list .base-paragraph {
  margin-top: 40px;
}

.sdgs-list .base-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 64px;
}

.sdgs-list li:nth-child(even) .base-btn {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

/** CSV カテゴリトップ **/

.csv-all-top-list {
  padding-top: 72px;
}

.csv-all-top-list,
.csv-all-top-list .base-inner {
  position: relative;
}

.csv-all-top-list .blk-bg {
  right: 0;
  width: 58.3%;
  height: 440px;
  top: 0;
}

/** ニュース詳細 **/

.base-newsdetail-mv {
  width: 900px;
  margin: 80px auto 0;
}

.base-newsdetail-mv img {
  width: 100%;
}

/** サクラテラス **/

.base-access {
  margin-top: 160px;
}

.googlemap {
  width: 100%;
  height: 480px;
  margin-top: 80px;
}

.base-access .access-txt {
  position: relative;
  padding-top: 60px;
  line-height: 2.2;
}

.base-access .access-txt .blk-bg {
  top: 0;
  left: 0;
  width: 88.2%;
  height: 250px;
}

.base-access .address {
  position: relative;
}

.base-access .address .caution {
  color: #808080;
  font-size: 1.4rem;
}

.base-access .guide {
  position: relative;
  margin-top: 128px;
}

.base-access .guide dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.base-access .guide dt {
  position: relative;
  width: 136px;
  margin-right: 16px;
}

.base-access .guide dt::after {
  content: '：';
  position: absolute;
  top: 0;
  right: 0;
}

.container-sakura-event-list .base-inner + .base-inner {
  margin-top: 80px;
}

.base-event-detail-report {
  margin-top: 64px;
  padding: 64px 0;
  background-color: #F7F7F7;
}

.base-event-detail-report + * {
  margin-top: 100px;
}

/** コンタクト **/

.conteact-policy,
.contact-form {
  margin-top: 100px;
}

.base-contact-policy {
  width: 100%;
  height: 340px;
  border: 1px solid #DBDBDB;
  overflow: auto;
}

.base-contact-policy > div {
  padding: 40px;
}

.container-contact .base-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.container-contact .base-btn a,
.container-contact .base-btn button {
  width: 400px;
  height: 72px;
}

.contact-confirm-comment {
  margin-top: 100px;
  font-size: 1.8rem;
  text-align: center;
}

/** リクルート **/

.base-recruit-member-list {
  margin-top: 100px;
}

.base-recruit-member-list > div {
  position: relative;
}

.base-recruit-member-list > div + div {
  margin-top: 80px;
}

.base-recruit-member-list > div .blk-bg {
  top: 437px;
  width: 58%;
  height: 384px;
}

.base-recruit-member-list > div:nth-child(odd) .blk-bg {
  left: 0;
}

.base-recruit-member-list > div:nth-child(even) .blk-bg {
  right: 0;
}

.base-recruit-member-list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.base-recruit-member-list li {
  width: 324px;
}

.base-recruit-member-list li:not(:nth-child(3n)) {
  margin-right: 64px;
}

.base-recruit-member-list li:not(:nth-child(-n+3)) {
  margin-top: 80px;
}

.base-recruit-member-list a {
  text-decoration: none;
}

.base-recruit-member-list .blk-img {
  position: relative;
  height: 380px;
  overflow: hidden;
}

.base-recruit-member-list .blk-img img {
  width: 324px;
  -webkit-transition: .72s ease;
  transition: .72s ease;
}

.base-recruit-member-list a:hover .blk-img img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.base-recruit-member-list .blk-info {
  position: absolute;
  left: 24px;
  bottom: 24px;
  color: #fff;
}

.base-recruit-member-list .name {
  font-size: 2rem;
}

.base-recruit-member-list .group {
  margin-top: 8px;
  font-size: 1.4rem;
}

.base-recruit-member-list .new {
  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;
  position: absolute;
  top: 0;
  left: 0;
  width: 64px;
  height: 64px;
  background-color: #F0A0A3;
  color: #fff;
  font-size: 1.3rem;
  letter-spacing: .12em;
}

.base-recruit-member-list .blk-comment {
  margin-top: 24px;
  font-size: 1.8rem;
  line-height: 1.8;
}

.base-recruit-member-list .link-arw {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 24px;
}

.ttl-recurit-detail {
  position: relative;
}

.ttl-recurit-detail::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100px;
  background-color: #F7F7F7;
  z-index: -1;
}

.ttl-recurit-detail .blk-img {
  position: absolute;
  top: 40px;
}

.ttl-recurit-detail .base-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.ttl-recurit-detail .blk-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  position: relative;
  width: 404px;
  height: 286px;
  margin-top: 259px;
  background-color: #fff;
}

.ttl-recurit-detail h1 {
  font-size: 4.8rem;
  font-weight: 400;
  letter-spacing: .1em;
}

.ttl-recurit-detail .join-year {
  margin-top: 16px;
  font-size: 1.4rem;
}

.ttl-recurit-detail .name {
  margin-top: 10px;
  font-size: 2.4rem;
  font-weight: 600;
}

.ttl-recurit-detail .group {
  margin-top: 16px;
}

.ttl-recurit-detail .blk-right {
  font-size: 3rem;
  font-weight: 600;
  text-align: right;
}

.base-recuit-detail {
  margin-top: 100px;
}

.base-recuit-detail > div {
  position: relative;
  padding-top: 100px;
}

.base-recuit-detail > div + div {
  margin-top: 100px
}

.base-recuit-detail > div .blk-bg {
  top: 0;
  width: 61%;
  height: 360px;
}

.base-recuit-detail > div:nth-child(odd) .blk-bg {
  left: 0;
}

.base-recuit-detail > div:nth-child(even) .blk-bg {
  right: 0;
}

.base-recuit-detail .base-inner {
  position: relative;
}

.base-recuit-detail .blk-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.base-recuit-detail .blk-flex .blk-content {
  width: 540px;
}

.base-recuit-detail .blk-flex .blk-img {
  width: 480px;
}

.base-recuit-detail .sub-ttl {
  position: relative;
  padding-left: 64px;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: .1em;
  line-height: 1.8;
}

.base-recuit-detail .sub-ttl:first-child {
  margin-top: 80px;
}

.base-recuit-detail .sub-ttl::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 15px;
  width: 40px;
  height: 1px;
  background-color: #F0A0A3;
}

.base-recuit-detail .sub-ttl + .base-paragraph {
  margin-top: 40px;
}

.base-recuit-detail .base-inner + .base-inner {
  margin-top: 32px;
}

.sup-detail {
  color: #808080;
  font-size: 1.4rem;
}

.base-recuit-challenge {
  position: relative;
  margin-top: 160px;
  padding-top: 100px;
}

.base-recuit-challenge::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 472px;
  background-color: #F7F7F7;
}

.base-recuit-challenge .base-inner {
  position: relative;
}

.base-recuit-challenge-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 64px;
}

.base-recuit-challenge-container .blk-content {
  width: 540px;
}

.base-recuit-challenge-container .blk-img {
  width: 480px;
}

.base-recuit-schedule {
  position: relative;
  margin-top: 160px;
  padding-top: 100px;
}

.base-recuit-schedule .blk-bg {
  top: 0;
  left: 0;
  width: 66%;
  height: 320px;
  background-color: rgba(240, 160, 163, 0.15);
}

.base-recuit-schedule .base-inner {
  position: relative;
}

.base-recuit-schedule-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 84px;
}

.base-recuit-schedule-container dl {
  width: 50%;
}

.base-recuit-schedule-container dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.base-recuit-schedule-container dt span {
  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;
  width: 100px;
  height: 100px;
  border-radius: 100px;
  background-color: #212121;
  color: #fff;
  font-size: 2.4rem;
  letter-spacing: .1em;
}

.base-recuit-schedule-container dd {
  position: relative;
  padding: 40px 0 0 50px;
}

.base-recuit-schedule-container dd::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 50px;
  width: 1px;
  height: calc(100% - 16px);
  background-color: #DBDBDB;
}

.base-recuit-schedule-container dd li {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 2.1;
}

.base-recuit-schedule-container dd li + li {
  margin-top: 24px;
}

.base-recuit-schedule-container dd li::before {
  content: '';
  display: block;
  position: absolute;
  top: 12px;
  left: -7px;
  width: 9px;
  height: 9px;
  border: 3px solid #DBDBDB;
  border-radius: 9px;
  background-color: #fff;
}

.base-recuit-schedule-container dd .time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  width: 110px;
  font-size: 2rem;
}

.base-recuit-schedule-container dd .comment {
  margin: 5px 0 0 40px;
}

.base-recuit-holiday {
  position: relative;
  margin-top: 160px;
}

.base-recuit-holiday.two-img {
  padding-top: 160px;
}

.base-recuit-holiday.three-img {
  padding-top: 139px;
}

.base-recuit-holiday .blk-bg {
  top: 0;
  right: 0;
}

.base-recuit-holiday.two-img .blk-bg {
  width: 77.8%;
  height: 370px;
}

.base-recuit-holiday.three-img .blk-bg {
  width: 64.6%;
  height: 430px;
}

.base-recuit-holiday-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
}

.base-recuit-holiday-container .base-paragraph {
  margin-top: 64px;
}

.base-recuit-holiday .blk-content {
  width: 470px;
}

.base-recuit-holiday.two-img .blk-img {
  width: 566px;
}

.base-recuit-holiday.three-img .blk-img {
  width: 565px;
}

.recruit-philosophy {
  position: relative;
}

.recruit-philosophy .blk-bg {
  top: 30px;
  left: 0;
  width: 55.6%;
  height: 638px;
}

.recruit-philosophy .base-inner {
  position: relative;
}

.recruit-philosophy h2.ttl {
  font-size: 4rem;
  font-weight: 400;
}

.recruit-philosophy-content {
  margin-top: 90px;
  padding-left: 160px;
}

.recruit-philosophy-content .ttl {
  margin-top: 38px;
  font-size: 2rem;
  font-weight: 400;
}

.recruit-philosophy-content .base-paragraph {
  margin-top: 16px;
}

.container-recruit .top-news {
  margin-top: 160px;
}

.recruit-desired {
  position: relative;
  margin-top: 160px;
}

.recruit-desired .blk-bg {
  top: 0;
  left: 0;
  width: 88.2%;
  height: 360px;
  background-color: #FDF1F2;
}

.recruit-desired .base-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  height: 360px;
}

.recruit-desired h2 {
  width: 304px;
}

.recruit-desired .blk-content li {
  position: relative;
  padding-left: 1em;
  font-size: 1.8rem;
}

.recruit-desired .blk-content li::before {
  content: '・';
}

.recruit-desired .blk-content li + li {
  margin-top: 15px;
}

.recruit-acceptance {
  position: relative;
  min-height: 490px;
  margin-top: 160px;
}

.recruit-acceptance .blk-bg {
  top: 60px;
  width: 66.7%;
  height: 430px;
}

.recruit-acceptance.new-graduates .blk-bg {
  right: 0;
}

.recruit-acceptance.career .blk-bg {
  left: 0;
}

.recruit-acceptance .base-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
}

.recruit-acceptance .blk-img,
.recruit-acceptance .blk-img img {
  width: 540px;
}

.recruit-acceptance .blk-content {
  width: 480px;
  padding-top: 150px;
}

.recruit-acceptance .ttl {
  font-size: 3.2rem;
  font-weight: 400;
}

.recruit-acceptance .base-paragraph {
  margin-top: 26px;
}

.recruit-acceptance .btn-list,
.recruit-acceptance .base-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 36px;
}

.recruit-acceptance .btn-list .link-outer a {
  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;
  position: relative;
  width: 228px;
  height: 64px;
  border: 1px solid #212121;
  background-color: #212121;
  color: #fff;
  text-decoration: none;
  letter-spacing: .08em;
  -webkit-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

.recruit-acceptance .btn-list .link-outer a:hover {
  background-color: #fff;
  color: #212121;
}

.recruit-acceptance .btn-list .link-outer a::after {
  content: '';
  display: inline-block;
  position: relative;
  top: -2px;
  width: 16px;
  height: 17px;
  margin-left: 10px;
  background: url(../image/icon_outerlink_wt.svg) center no-repeat;
  background-size: contain;
  -webkit-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

.recruit-acceptance .btn-list .link-outer a:hover::after {
  background: url(../image/icon_outerlink.svg) center no-repeat;
  background-size: contain;
}

.recruit-acceptance .base-btn a {
  width: 320px;
}

.recruit-works {
  margin-top: 160px;
}

.recruit-works .base-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 80px;
}

.recruit-works .base-btn a {
  width: 340px;
}

.recruit-learn {
  margin-top: 160px;
}

.base-list-text-link ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.base-list-text-link li:not(:nth-child(3n)) {
  margin-right: 40px;
}

.base-list-text-link a {
  display: block;
  position: relative;
  width: 340px;
  height: 180px;
  padding: 36px 40px 40px 40px;
  background-color: #F7F7F7;
  text-decoration: none;
  -webkit-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

.base-list-text-link a:hover {
  background-color: #e6e6e6;
}

.base-list-text-link a::after {
  content: '';
  display: block;
  position: absolute;
  right: 40px;
  bottom: 40px;
  width: 61px;
  height: 5px;
  background: url(../image/arw_btn_l_bk.svg) center no-repeat;
  background-size: contain;
}

.base-list-text-link .ttl-en {
  font-size: 2.4rem;
  letter-spacing: .12em;
}

.base-list-text-link .ttl-ja {
  margin-top: 16px;
  font-size: 1.6rem;
  letter-spacing: .1em;
}

/** サポート**/

.support-anker {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.support-anker .support-anker-support,
.support-anker .support-anker-download {
  width: 530px;
}

.support-anker .ttl {
  font-size: 2rem;
  text-align: center;
}

.support-anker ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 24px;
}

.support-anker .support-anker-support li {
  width: 50%;
}

.support-anker .support-anker-download li {
  width: 100%;
}

.support-anker a {
  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;
  position: relative;
  height: 64px;
  padding-right: 16px;
  border: 1px solid #DBDBDB;
  text-decoration: none;
  -webkit-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

.support-anker li + li a {
  border-left: none;
}

.support-anker a:hover {
  background-color: #212121;
  color: #fff;
}

.support-anker a::after {
  content: '\f107';
  position: absolute;
  top: 50%;
  right: 16px;
  color: #808080;
  font-family: 'Fontawesome';
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}

.support-container {
  position: relative;
  padding-top: 100px;
}

.support-container .blk-bg {
  top: 0;
  left: 0;
  width: 58.3%;
  height: 230px;
}

.support-container .base-inner {
  position: relative;
}

.support-video-list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: -40px -40px 0 0;
}

.support-video-list li {
  margin: 40px 40px 0 0;
}

.support-video-list button {
  display: block;
  position: relative;
  width: 245px;
  height: 138px;
  margin: 0;
  padding: 0;
  border: 4px solid #DBDBDB;
  background-color: #fff;
  font-size: 1.4rem;
  cursor: pointer;
}

.support-video-list button::before {
  content: '';
  display: block;
  position: absolute;
  bottom: 12px;
  right: 12px;
  width: 44px;
  height: 44px;
  background: url(../image/icon_btn_play_s.svg) center no-repeat;
  background-size: contain
}

.support-video-list button span {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 18px 12px;
  text-align: left;
  line-height: 1.8;
}

.support-video-list button span::before,
.support-video-list button span::after {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

.support-video-list button span::before {
  content: '';
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(17, 17, 17, 0.5);
}

.support-video-list button span::after {
  content: '再生';
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  top: 50%;
  left: 50%;
  width: 100px;
  height: 40px;
  background-color: #212121;
  color: #fff;
  font-size: 1.4rem;
  letter-spacing: .4em;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.support-video-list button:hover span::before,
.support-video-list button:hover span::after {
  visibility: visible;
  opacity: 1;
}

.support-pdf-list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: -16px -40px 0 0;
}

.support-pdf-list li {
  margin: 16px 40px 0 0;
}

.support-border {
  padding-top: 24px;
  border-top: 1px solid #DBDBDB;
}

.support-ttl {
  font-weight: 600;
}

.support-print-item {
  position: relative;
  min-height: 196px;
}

.support-print-item .support-pdf-list,
.support-print-item .base-paragraph {
  width: 860px;
}

.support-print-item .support-print-img {
  position: absolute;
  top: 20px;
  right: 0;
}

.support-download-list ul {
  border-top: 1px solid #DBDBDB;
}

.support-download-list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 24px;
  border-bottom: 1px solid #DBDBDB;
  line-height: 2;
}

.support-download-list .name {
  width: 268px;
}

.support-download-list .name.large {
  width: 487px;
  padding-right: 40px;
}

.support-download-list .os {
  width: 191px;
}

.support-download-list .os.small {
  width: 100px;
}

.support-download-list .download-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 140px;
}

.support-download-list .download-btn + .os {
  margin-left: 80px;
}

.support-download-list .download-btn a {
  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;
  width: 140px;
  height: 44px;
  border: 1px solid #DBDBDB;
  background-color: #F7F7F7;
  text-decoration: none;
  -webkit-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

.support-download-list .download-btn a:hover {
  background-color: #ebebeb;
}

.support-download-list .caution,
.support-caution {
  color: #808080;
  font-size: 1.3rem;
}

.support-download-p4p-list ul {
  border-top: 1px solid #DBDBDB;
}

.support-download-p4p-list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 24px;
  border-bottom: 1px solid #DBDBDB;
  line-height: 2;
}

.support-download-p4p-list .name {
  width: 190px;
}

.support-download-p4p-list .os {
  width: 390px;
}

.support-download-p4p-list .os.small {
  width: 100px;
}

.support-download-p4p-list .download-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 140px;
}

.support-download-p4p-list .download-btn + .os {
  margin-left: 80px;
}

.support-download-p4p-list .download-btn a {
  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;
  width: 140px;
  height: 44px;
  border: 1px solid #DBDBDB;
  background-color: #F7F7F7;
  text-decoration: none;
  -webkit-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}


/** 会社概要 **/

.profile-tbl {
  width: 100%;
  margin-top: 100px;
}

.profile-tbl dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid #DBDBDB;
  line-height: 2.1;
}

.profile-tbl dl:first-child {
  border-top: 1px solid #DBDBDB;
}

.profile-tbl dt,
.profile-tbl dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 20px 0;
}

.profile-tbl dt {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 200px;
  padding-left: 40px;
}

.profile-caution {
  color: #808080;
  font-size: 1.3rem;
}

.container-company_profile .ttl-common-h2 {
  text-align: center;
}

.organizationchart {
  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;
}

.organizationchart img {
  width: 900px;
}

/** 事業案内 **/

.base-service-items {
  position: relative;
  padding-top: 100px;
}

.base-service-items .blk-bg {
  top: 0;
  left: 0;
  width: 58%;
  height: 360px;
}

.base-service-items .base-inner {
  position: relative;
}

.base-service-item .base-paragraph {
  margin-top: 32px;
}

.base-service-printer-main .base-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 40px;
}

.base-item-sns-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 27px;
}

.base-item-sns-list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.base-item-sns-list li + li {
  margin-left: 10px;
}

.base-item-sns-list a {
  display: block;
  position: relative;
  width: 36px;
  height: 36px;
}

.base-item-sns-list a::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 36px;
  height: 36px;
  -webkit-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

.base-item-sns-list .sns-tw a::before {
  background: url(../image/icon_sns_tw_light.svg) center no-repeat;
  background-size: contain;
}

.base-item-sns-list .sns-fb a::before {
  background: url(../image/icon_sns_fb_light.svg) center no-repeat;
  background-size: contain;
}

.base-item-sns-list .sns-ln a::before {
  background: url(../image/icon_sns_ln_light.svg) center no-repeat;
  background-size: contain;
}

.base-item-sns-list .sns-ig a::before {
  background: url(../image/icon_sns_ig_light.svg) center no-repeat;
  background-size: contain;
}

.base-item-sns-list .sns-pr a::before {
  background: url(../image/icon_sns_pr_light.svg) center no-repeat;
  background-size: contain;
}

.base-item-sns-list .sns-tw a:hover::before {
  background: url(../image/icon_sns_tw.svg) center no-repeat;
  background-size: contain;
}

.base-item-sns-list .sns-fb a:hover::before {
  background: url(../image/icon_sns_fb.svg) center no-repeat;
  background-size: contain;
}

.base-item-sns-list .sns-ln a:hover::before {
  background: url(../image/icon_sns_ln.svg) center no-repeat;
  background-size: contain;
}

.base-item-sns-list .sns-ig a:hover::before {
  background: url(../image/icon_sns_ig.svg) center no-repeat;
  background-size: contain;
}

.base-item-sns-list .sns-pr a:hover::before {
  background: url(../image/icon_sns_pr.svg) center no-repeat;
  background-size: contain;
}

/** 事業案内 紙製品事業 **/

.blk-service-paper-top {
  margin-top: 100px;
}

.container-service-paper .base-service-item .base-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 40px;
}

.base-service-paper-list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.base-service-paper-list a {
  display: block;
  position: relative;
  width: 366px;
}

.base-service-paper-list .blk-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 80px;
  padding-left: 40px;
  background-color: rgba(255, 255, 255, 0.8);
  font-size: 2.4rem;
}

.base-service-paper-list .blk-over {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 260px;
  padding: 36px 40px;
  background-color: rgba(255, 255, 255, 0.8);
  font-size: 1.6rem;
  letter-spacing: .08em;
  line-height: 2.2;
  opacity: 0;
  -webkit-transition: .72s ease-in-out;
  transition: .72s ease-in-out;
}

.base-service-paper-list a:hover .blk-over {
  opacity: 1;
}

.base-service-paper-list + .blk-contact-comment-btn {
  margin-top: 80px;
}

/** 事業案内 Webサービス事業 **/

.base-service-web-item {
  margin-top: 80px;
}

.base-service-web-item h3 {
  position: relative;
  font-size: 2.4rem;
}

.base-service-web-item h3::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  height: 1px;
  background-color: #DBDBDB;
}

.base-service-web-item h3.border-short::after {
  width: 600px;
}

.base-service-web-item h3.border-long::after {
  width: 800px;
}

.base-service-web-product {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
  min-height: 480px;
}

.base-service-web-product::before {
  content: '';
  display: block;
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 480px;
  height: 300px;
  background-color: #F7F7F7;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  z-index: -1;
}

h3 + .base-service-web-product {
  margin-top: 64px;
}

.base-article-vert-img + .base-service-web-product {
  margin-top: 120px;
}

.base-service-web-product .blk-img {
  width: 540px;
}

.base-service-web-product .blk-img img {
  width: 100%;
}

.base-service-web-product .blk-content {
  width: 480px;
}

.base-service-web-product.img-right .blk-img {
  -webkit-box-ordinal-group: 21;
  -ms-flex-order: 20;
  order: 20;
}

.base-service-web-product.img-right .blk-content {
  -webkit-box-ordinal-group: 11;
  -ms-flex-order: 10;
  order: 10;
}

.base-service-web-product .name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.base-service-web-product .name .txt-en {
  font-size: 4rem;
  line-height: 1.2
}

.base-service-web-product .name .txt-ja {
  margin-top: 20px;
  font-size: 1.6rem;
}

.base-service-web-product .base-paragraph {
  margin-top: 40px;
}

.base-service-web-product .base-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 64px;
}

.base-service-web-product.img-right .base-btn {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.base-service-web-product.img-right .base-item-sns-list {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.base-service-web-item .base-article-vert-img {
  margin-top: 40px;
}

/** 事業案内 プリンター事業 **/

.base-service-printer-item .base-article-vert-img .ttl {
  text-align: center;
}

.link-support {
  position: absolute;
  top: 10px;
  right: 0;
}

.link-support a {
  text-decoration: none;
  font-size: 1.8rem;
  font-weight: bold;
}

.base-service-printer-main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 40px;
}

.base-service-printer-main .blk-img {
  width: 540px;
}

.base-service-printer-main .blk-content {
  width: 520px;
}

.base-service-printer-main .name {
  font-size: 4rem;
  letter-spacing: .08em;
}

.base-service-printer-main .name + .base-paragraph {
  margin-top: 24px;
}

.base-service-printer-main .tag-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 32px;
}

.base-service-printer-main .tag-list span {
  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;
  width: 255px;
  height: 40px;
  background-color: #F7F7F7;
  font-size: 1.4rem;
  letter-spacing: .04em;
}

.base-service-printer-main .perfomance {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 98px;
  margin-top: 27px;
}

.base-service-printer-main .perfomance + .perfomance {
  margin-top: 16px;
}

.base-service-printer-main .perfomance-1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.base-service-printer-main .perfomance-circle {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 90px;
}

.base-service-printer-main .perfomance-circle span {
  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;
  width: 90px;
  height: 90px;
  border: 2px solid #212121;
  border-radius: 90px;
  text-align: center;
}

.base-service-printer-main .perfomance-circle.txt-large span {
  font-size: 1.8rem;
}

.base-service-printer-main .perfomance-circle.txt-small span {
  font-size: 1.2rem;
  letter-spacing: .02em;
}

.base-service-printer-main .perfomance-comment {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 203px;
  padding-left: 24px;
  border-right: 1px solid #DBDBDB;
}

.base-service-printer-main .perfomance-txt {
  font-size: 1.4rem;
}

.base-service-printer-main .perfomance-1 .perfomance-num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  font-size: 2rem;
}

.base-service-printer-main .perfomance-1 .perfomance-num span {
  margin-right: 5px;
  font-size: 4.8rem;
  letter-spacing: .09em;
}

.base-service-printer-main .perfomance-2 {
  width: 201px;
}

.base-service-printer-main .perfomance-2-1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 48px;
}

.base-service-printer-main .perfomance-2-1 > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  width: 100%;
}

.base-service-printer-main .perfomance-2-1:first-child {
  border-bottom: 1px solid #DBDBDB;
}

.base-service-printer-main .perfomance-2-1 .perfomance-num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  font-size: 2rem;
}

.base-service-printer-main .perfomance-2-1 .perfomance-num span {
  font-size: 3.2rem;
  letter-spacing: .09em;
}

.base-service-printer-main .perfomance-2-3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  height: 98px;
  padding: 4px 0 0 25px;
}

.base-service-printer-main .perfomance-2-3 .perfomance-num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  font-size: 2rem;
}

.base-service-printer-main .perfomance-2-3 .perfomance-num span {
  margin-right: 14px;
  font-size: 4.8rem;
  letter-spacing: .09em;
}

.base-service-printer-main + .base-service-printer-list {
  margin-top: 80px;
}

.base-service-printer-list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.base-service-printer-list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 518px;
}

.base-service-printer-list li:not(:nth-child(-n+2)) {
  margin-top: 40px;
}

.base-service-printer-list .blk-img {
  width: 232px;
}

.base-service-printer-list .blk-img img {
  width: 100%;
}

.base-service-printer-list .blk-content {
  width: 252px;
}

.base-service-printer-list a {
  text-decoration: none;
}

.base-service-printer-list .name {
  font-size: 2rem;
  line-height: 1.5;
}

.base-service-printer-list .base-paragraph {
  margin-top: 18px;
  font-size: 1.4rem;
}

.base-service-printer-list .link-arw {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 5px;
}

.ttl-common-h3 + .base-service-printer-list {
  margin-top: 40px;
}

.btn-desc-movie + .link-arw {
  margin-top: 16px;
}

.base-service-area-map {
  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;
}

.base-service-area-info {
  margin-top: 80px;
}

.base-service-area-info ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: 1px solid #DBDBDB;
}

.base-service-area-info li {
  width: 50%;
  padding: 40px 0;
  text-align: center;
}

.base-service-area-info li:not(:last-child) {
  border-right: 1px solid #DBDBDB;
}

.base-service-area-info .ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  position: relative;
  padding-bottom: 16px;
}

.base-service-area-info .ttl::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100px;
  height: 4px;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}

.base-service-area-info .ttl-west::after {
  background-color: #F5DBDD;
}

.base-service-area-info .ttl-east::after {
  background-color: #F0A0A3;
}

.base-service-area-info .ttl .txt-en {
  font-size: 2.8rem;
  letter-spacing: .1em;
  line-height: 1.2;
}

.base-service-area-info .ttl .txt-ja {
  margin-top: 14px;
  font-size: 1.6rem;
}

.base-service-area-info .branch-name {
  margin-top: 24px;
  font-size: 1.8rem;
}

.base-service-area-info .tel-fax {
  margin-top: 16px;
  font-size: 1.6rem;
}

/** 事業案内 セカンドブランド一覧 **/

.base-inner.ttl-secondbrand {
  margin-top: 160px;
}

.base-service-secondbrand-items {
  position: relative;
  margin-top: 72px;
}

.base-service-secondbrand-item + .base-service-secondbrand-item {
  margin-top: 160px;
}

.base-service-secondbrand-item {
  position: relative;
  padding-top: 80px;
}

.base-service-secondbrand-item::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 360px;
  z-index: -1;
}

.base-service-secondbrand-item.item-lab::before {
  background-color: rgba(175, 158, 124, 0.2);
}

.base-service-secondbrand-item.item-rikskog::before {
  background-color: rgba(53, 77, 67, 0.1);
}

.base-service-secondbrand-item.item-irogaal::before {
  background: linear-gradient(135deg, rgba(248, 202, 204, 0.3) 0%, rgba(245, 201, 204, 0.3) 3%, rgba(141, 164, 208, 0.3) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#4df8cacc', endColorstr='#4d8da4d0', GradientType=1);
}

.base-service-secondbrand-item .item-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.base-service-secondbrand-item:nth-child(even) .item-inner .blk-img {
  -webkit-box-ordinal-group: 21;
  -ms-flex-order: 20;
  order: 20;
}

.base-service-secondbrand-item:nth-child(even) .item-inner .blk-content {
  -webkit-box-ordinal-group: 11;
  -ms-flex-order: 10;
  order: 10;
}

.base-service-secondbrand-item .item-inner .blk-img {
  width: 540px;
}

.base-service-secondbrand-item .item-inner .blk-img img {
  width: 100%;
}

.base-service-secondbrand-item .item-inner .blk-content {
  width: 480px;
}

.base-service-secondbrand-item .item-inner .name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.base-service-secondbrand-item .item-inner .name .txt-en {
  font-size: 4rem;
  line-height: 1.2
}

.base-service-secondbrand-item .item-inner .name .txt-ja {
  margin-top: 20px;
  font-size: 1.6rem;
}

.base-service-secondbrand-item .item-inner .catch-copy {
  margin-top: 30px;
  font-size: 2rem;
  line-height: 1.8
}

.base-service-secondbrand-item .item-inner .base-paragraph {
  margin-top: 30px;
}

.base-service-secondbrand-item .item-inner .btn-list {
  margin-top: 32px;
}

.base-service-secondbrand-item .item-inner .btn-list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.base-service-secondbrand-item .item-inner .btn-list a {
  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;
  width: 228px;
  height: 64px;
  font-size: 1.6rem;
  text-decoration: none;
  -webkit-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

.base-service-secondbrand-item.item-lab .item-inner .btn-list .btn-site a,
.base-service-secondbrand-item.item-lab .item-inner .btn-list .btn-shop a:hover {
  border: 1px solid #5A554B;
  background-color: #5A554B;
  color: #fff;
}

.base-service-secondbrand-item.item-lab .item-inner .btn-list .btn-site a:hover,
.base-service-secondbrand-item.item-lab .item-inner .btn-list .btn-shop a {
  border: 1px solid #5A554B;
  background-color: #fff;
  color: #5A554B;
}

.base-service-secondbrand-item.item-rikskog .item-inner .btn-list .btn-site a,
.base-service-secondbrand-item.item-rikskog .item-inner .btn-list .btn-shop a:hover {
  border: 1px solid #354D43;
  background-color: #354D43;
  color: #fff;
}

.base-service-secondbrand-item.item-rikskog .item-inner .btn-list .btn-site a:hover,
.base-service-secondbrand-item.item-rikskog .item-inner .btn-list .btn-shop a {
  border: 1px solid #354D43;
  background-color: #fff;
  color: #354D43;
}

.base-service-secondbrand-item.item-irogaal .item-inner .btn-list .btn-site a,
.base-service-secondbrand-item.item-irogaal .item-inner .btn-list .btn-shop a:hover {
  border: 1px solid #8EA4D0;
  background-color: #8EA4D0;
  color: #fff;
}

.base-service-secondbrand-item.item-irogaal .item-inner .btn-list .btn-site a:hover,
.base-service-secondbrand-item.item-irogaal .item-inner .btn-list .btn-shop a {
  border: 1px solid #8EA4D0;
  background-color: #fff;
  color: #8EA4D0;
}

.base-service-secondbrand-item .item-inner .base-item-sns-list {
  margin-top: 24px;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.base-service-secondbrand-item .base-article-vert-img {
  margin-top: 80px;
}

/** +サイトマップ **/

.base-sitemap {
  margin-top: 100px;
}

.base-sitemap ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.base-sitemap li {
  width: 520px;
}

.base-sitemap li:not(:nth-child(-n+2)) {
  margin-top: 80px;
}

.base-sitemap .base-sitemap-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: 24px;
  padding-left: 10px;
}

.base-sitemap .base-sitemap-link a {
  line-height: 1.8;
}

.base-sitemap .base-sitemap-link a + a {
  margin-top: 20px;
}

/** +lab トップ **/

.lab-catch-copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 750px;
  height: auto;
  margin: 120px auto 0;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  line-height: 2.9;
  word-break: keep-all;
}

.lab-catch-copy .ttl img {
  width: 58px;
}

.lab-catch-copy .ttl p {
  margin: 50px 20px 0 0;
  font-size: 2.4rem;
  letter-spacing: .3em;
}

.lab-catch-copy .comment {
  margin-top: 24px;
  font-size: 1.6rem;
  letter-spacing: .3em;
}

.lab-news {
  margin-top: 250px;
}

.lab-news-list {
  width: 860px;
  margin: 64px auto 0;
}

.lab-news-list li {
  padding-bottom: 24px;
  border-bottom: 1px solid #DBDBDB;
}

.lab-news-list li:not(:first-child) {
  margin-top: 24px;
}

.lab-news-list li a {
  display: block;
  text-decoration: none;
  -webkit-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

.lab-news-list.list-large li a {
  padding: 0 24px;
}

.lab-news-list li a:hover {
  opacity: .7;
}

.lab-news-list dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.lab-news-list dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}

.lab-news-list .date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}

.lab-news-list dd {
  margin-top: 14px;
  font-size: 1.4rem;
  line-height: 1.8;
}

.lab-news-list .base-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 40px;
}

.lab-instagram {
  position: relative;
  margin-top: 200px;
  padding-bottom: 100px;
}

.lab-instagram::before {
  content: '';
  display: block;
  position: absolute;
  top: 14px;
  left: 0;
  width: 100%;
  height: calc(100% - 14px);
  background-color: #F8F8F7;
  z-index: -1;
}

.lab-instagram .base-inner {
  position: relative;
}

.lab-instagram-name {
  margin-top: 45px;
  font-size: 1.4rem;
  font-weight: 300;
  text-align: center;
  letter-spacing: .2em;
}

.lab-instagram-name a {
  position: relative;
  text-decoration: none;
}

.lab-instagram-name a::before {
  content: '';
  display: inline-block;
  position: relative;
  top: 3px;
  width: 16px;
  height: 16px;
  margin-right: 16px;
  background: url(../image/sns_instagram.svg) center no-repeat;
  background-size: contain;
}

.lab-instagram-list {
  margin-top: 64px;
}

.lab-instagram-list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.lab-instagram-list li:not(:nth-child(4n)) {
  margin-right: 80px;
}

.lab-instagram-list li:not(:nth-child(-n+4)) {
  margin-top: 80px;
}

.lab-instagram-list a {
  display: block;
  -webkit-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

.lab-instagram-list a:hover {
  opacity: .6;
}

.lab-instagram-list img {
  width: 215px;
  height: 215px;
  -o-object-fit: cover;
  object-fit: cover;
}

.lab-ask {
  width: 100%;
}

.lab-ask a {
  display: block;
  height: 248px;
  padding: 80px 0;
  background-color: #5A554B;
  color: #fff;
  text-decoration: none;
  -webkit-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

.lab-ask a:hover {
  opacity: .7;
}

.lab-ask .base-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  height: 100%;
  letter-spacing: .14em;
}

.lab-ask .base-inner > div:nth-child(1) {
  font-size: 2.4rem;
  font-weight: 200;
}

.lab-ask .base-inner > div:nth-child(2) {
  font-size: 1.4rem;
  font-weight: 200;
}

.lab-about-customize {
  margin-top: 100px;
  font-size: 1.8rem;
  text-align: center;
}

.lab-bottom-content {
  margin-top: 100px;
}

.lab-bottom-content > .base-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.lab-bottom-content > .base-inner > div {
  width: 530px;
  height: 240px;
}

.lab-bottom-contact > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: #5A554B;
  color: #fff;
  text-decoration: none;
  -webkit-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

.lab-bottom-contact > a:hover {
  opacity: .7;
}

.lab-bottom-contact-ttl {
  font-size: 2.4rem;
}

.lab-bottom-contact-link {
  margin-top: 12px;
  font-size: 1.8rem;
}

.lab-bottom-contact-tel {
  margin-top: 20px;
  font-size: 1.4rem;
}

.lab-bottom-5omono > a {
  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;
  width: 100%;
  height: 100%;
  background-color: #D3CDD6;
  color: #47295D;
  text-decoration: none;
  -webkit-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

.lab-bottom-5omono > a:hover {
  opacity: .7;
}

.lab-bottom-5omono-img {
  width: 96px;
  margin-right: 24px;
}

.lab-bottom-5omono-detail {
  text-align: center;
}

.lab-bottom-5omono-ttl {
  font-size: 2.4rem;
}

.lab-bottom-5omono-comment {
  margin-top: 12px;
  font-size: 1.8rem;
}

.lab-bottom-5omono-comment span {
  font-size: 2rem;
}

/*90th logo*/

.top-firstview .logo-90th {
  position: absolute;
  top: 640px;
  right: 260px;
  width: 88px;
}

/* 20241007 added */
.blk-news-search {
  margin-top: 100px;
}

.blk-news-search form {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 800px;
  height: 64px;
  margin: 0 auto;
  border: 1px solid #dbdbdb;
  border-radius: 64px;
}

input.blk-news-search-txt {
  width: calc(100% - 50px);
  height: 100%;
  padding: 0 0 0 32px;
  border: none;
  background-color: transparent;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
}

input.blk-news-search-txt::placeholder {
  color: #808080;
}

.blk-news-search-btn {
  width: 50px;
  height: 100%;
  border: none;
  background-color: transparent;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTIgN2E0Ljk1MSA0Ljk1MSAwIDAgMSA1LTUgNC45NTEgNC45NTEgMCAwIDEgNSA1IDQuOTUxIDQuOTUxIDAgMCAxLTUgNSA0Ljk1MSA0Ljk1MSAwIDAgMS01LTVabTEyLjMgOC43YS45OS45OSAwIDAgMCAxLjQtMS40bC0zLjEtMy4xQTYuODQ3IDYuODQ3IDAgMCAwIDE0IDdhNi45NTcgNi45NTcgMCAwIDAtNy03IDYuOTU3IDYuOTU3IDAgMCAwLTcgNyA2Ljk1NyA2Ljk1NyAwIDAgMCA3IDcgNi44NDcgNi44NDcgMCAwIDAgNC4yLTEuNFoiIGZpbGw9IiMyMTIxMjEiLz48L3N2Zz4=");
  background-position: center left 10px;
  background-repeat: no-repeat;
  text-indent: -999999px;
  cursor: pointer;
  transition: opacity 0.2s;
}

.blk-news-search-btn:hover {
  opacity: 0.65;
}