@charset "UTF-8";
/* 
  css設定 @charsetが消されるsass仕様へのハック用コメントです。削除しないでください。新規作成時も必須！
 */
/*==================================================================================
 common
==================================================================================*/
html {
  font-size: .15625vw;
}

main .caption {
  font-size: 10rem;
}
main .commonTableArea01 dl {
  flex-direction: column;
  align-items: normal;
  gap: 10rem 0;
  padding: 20rem 20rem;
}
main .commonTableArea01 dt,
main .commonTableArea01 dd {
  line-height: 1.7;
  font-size: 20rem;
}
main .commonTableArea01 dt {
  flex: 0 0 auto;
  font-weight: bold;
}
main .commonTableArea01 dd {
  flex: 0 0 auto;
}

.commonButton01 {
  max-width: 590rem;
}

.commonTitle01 {
  padding-bottom: 0;
  font-size: 30rem;
}

.commonTitle02 .text02 {
  text-align: center;
}

.commonItems01 {
  flex-wrap: wrap;
  gap: 30rem 0;
}
.commonItems01 li {
  flex: 0 0 47.5%;
}
.commonItems01.row03 {
  flex-direction: column;
  justify-content: normal;
  gap: 20rem 0;
}
.commonItems01.row03 li {
  flex: 0 0 auto;
}

.commonNewsList01 li a {
  gap: 0 40rem;
  padding-right: 25rem;
}
.commonNewsList01 li a:after {
  right: 4rem;
}
.commonNewsList01 li a .date {
  font-size: 18rem;
}
.commonNewsList01 li a .content {
  font-size: 18rem;
}

/*==================================================================================
 siteHeader
==================================================================================*/
.siteHeader {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  padding: 20rem 15rem 0 20rem;
  z-index: 1000;
}
.siteHeader h1 {
  writing-mode: vertical-rl;
  text-orientation: upright;
  line-height: 1.3;
  text-align: left;
}
.siteHeader .headerLogo {
  width: 253rem;
}
.siteHeader .menuButton {
  top: 180rem;
}

/*==================================================================================
 siteFooter
==================================================================================*/
.siteFooter {
  padding-bottom: 60rem;
}
.siteFooter .footerNavi {
  margin-bottom: 40rem;
  padding-bottom: 40rem;
}
.siteFooter .footerNavi ul {
  flex-direction: column;
  justify-content: normal;
  align-items: center;
  gap: 25rem 0;
}
.siteFooter .footerNavi a {
  font-size: 22rem;
}

/*==================================================================================
 top
==================================================================================*/
#top .mainVisual .slideItems .textArea {
  flex-direction: column;
  left: 25rem;
  bottom: 28rem;
}
#top .mainVisual .slideItems .textArea .catch01 {
  font-size: 34rem;
}
#top .mainVisual .slideItems .textArea .catch02 {
  line-height: 1.3;
  font-size: 20rem;
}
#top .mainVisual .slideItems .textArea .catch02 a {
  margin-top: 12rem;
}
#top section.news {
  padding: 80rem 0 60rem;
}
#top section.news > header {
  display: flex;
  align-items: center;
  gap: 0 30rem;
  padding-bottom: 40rem;
}
#top section.news > header h2,
#top section.news > header .listLink {
  text-align: left;
}
#top .sections {
  background-position-y: top !important;
  background-size: 100% auto !important;
}
#top .sections > header {
  padding-bottom: 40rem;
  max-width: none;
}
#top .sections:nth-of-type(2n-1) > header {
  margin-left: auto;
}
#top section.business {
  padding: 80rem 25rem;
  background-image: url("../img/sp/top/business-bg.jpg");
}
#top section.business .linkButton {
  filter: brightness(0);
}
#top section.general {
  padding: 80rem 25rem;
  background-image: url("../img/sp/top/general-bg.jpg");
}
#top section.about {
  padding: 80rem 25rem;
  background-image: url("../img/sp/top/about-bg.jpg");
}
#top section.about .linkButton {
  filter: brightness(0);
}
#top .outlineArea {
  padding: 200rem 0 130rem;
  background-image: url("../img/sp/top/outline-bg.jpg");
}

/*==================================================================================
 lower common
==================================================================================*/
.lower .commonLowerTitle01 {
  justify-content: left;
  height: 750rem;
  text-align: left;
  font-size: 32rem;
  background-image: url("../img/sp/outline/mv.jpg");
}

/*==================================================================================
 outline
==================================================================================*/
/*==================================================================================
 stainless
==================================================================================*/
#stainless .pageTitle {
  background-image: url("../img/sp/stainless/mv.jpg");
}
#stainless .sections {
  padding: 100rem 0;
}
#stainless .sections h3 {
  padding-bottom: 50rem;
}
#stainless .sections .catch {
  top: 420rem !important;
  right: 75rem !important;
  left: auto !important;
  transform: scale(0.6);
}
#stainless .sections .images {
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 30rem 6%;
  padding-bottom: 40rem;
}
#stainless .sections .images li {
  flex: 0 0 47%;
}
#stainless .section03 .catch {
  top: 355rem !important;
  right: 70rem !important;
}
#stainless .section05 .catch {
  top: 445rem !important;
  right: 95rem !important;
}

/*==================================================================================
 contact
==================================================================================*/
#contact .pageTitle {
  background-image: url("../img/sp/contact/mv.jpg");
}
#contact form dl {
  flex-direction: column;
  align-items: normal;
  gap: 20rem 0;
  padding: 30rem 15rem;
}
#contact form dl.required dt:after {
  right: 0;
  font-size: 16rem;
}
#contact form dt,
#contact form dd {
  flex: 0 0 auto;
  padding: 0;
}
#contact form dt {
  font-weight: bold;
}
#contact form dd {
  border-left: none;
}

/*# sourceMappingURL=smartphone.css.map */
