@charset "utf-8";
/*
Theme Name: shinshi
Theme URI: http://shinshikougyou.com/
Description: テーマの説明
Author: 作者の名前
Author URI: 作者のサイトのURL
Version: バージョン
*/


/*ーーー
 全体
ーーー*/
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}
body{
  min-width: 100rem;
  word-break: break-all;
  font-family: 'Noto Sans JP','メイリオ',sans-serif;
  font-size: 1.4rem;
  color: #231815;
  line-height: 1.7;
  letter-spacing: 1px;
  font-feature-settings: "palt";
  overflow-wrap: break-word;
}
@font-face {
  font-family: "DIN Condensed";
  src: url("font/DIN Condensed.woff") format("woff");
}
@media (min-width: 64rem) {
  a[href^="tel:"] {
      pointer-events: none;
  }
}
.l-section{
  margin-top: 9.6rem;
}
.sp{
  display: none;
}
img{
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
.container{
  max-width: 128rem;
  margin: 0 auto;
  -webkit-margin: 0 auto;
  padding-left: 4.8rem;
  padding-right: 4.8rem;
  -webkit-padding-left: 4.8rem;
  -webkit-padding-right: 4.8rem;
}
.phoneBtn {
  font-size: 4.8rem;
  letter-spacing: 0.2rem;
  font-family: "DIN Condensed",'メイリオ',sans-serif;
}
.reception{
  text-align: center;
  padding-top: 1rem;
  font-size: 1.6rem;
}
.btnArrow{
  width: 24rem;
  height: 4.8rem;
  margin: 0 auto;
  color: #fff;
  background-image: linear-gradient(90deg, rgba(233, 85, 4, 1), rgba(185, 0, 7, 1));
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.4s ease-in-out;
  z-index: 3;
}
.btnArrow span,
.btnArrow i{
  position: relative;
  z-index: 3;
}
.btnArrow::before{
  content: '';
  width: 0%;
  height: 100%;
  background-color: #b90007;
  position: absolute;
  transform: skewX(-25deg);
  transition: all 0.4s ease-in-out;
  right: 0;
}
.btnArrow:hover::before{
  right: auto;
  left: -10%;
  width: 120%;
  transform: skewX(0);
  transition: all 0.4s ease-in-out;
}
.ttlWrapper{
  text-align: center;
  max-width: 110rem;
  margin: 0 auto;
}
.largeTxt{
  font-size: 2.8rem;
  font-family: 'Noto Serif JP',serif;
  margin-top: 6.4rem;
  margin-bottom: 4.8rem;
  text-align: center;
  line-height: 1.379;
}
.txt{
  text-align: center;
  margin-bottom: 4.8rem;
}
.fade{
  transform: translateY(3.6rem);
  opacity: 0;
  transition: all 1.5s;
}
.fade.visible{
  opacity: 1;
  transform: translateY(0);
}
.jaTtl,
.page-jaTtl{
  color: #b90007;
  margin-top: 4.8rem;
}
/*ーーーーーーーーーーーーー
 ローディングアニメーション
ーーーーーーーーーーーーーー*/
#logo{
  height: 100vh;
  width: 100vw;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  opacity: 1;
  visibility: visible;
}
.logo_layer{
  width: 30%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@keyframes startLogo{
  0%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}
svg{
  animation: startLogo 1.5s ease-in;
}
#logo_image .cls-1{
  stroke:#333;
  stroke-dasharray: 2000;
  stroke-dashoffset: 0;
  stroke-width: 1;
  -webkit-animation: hello 4s ease-in 0s;
  animation: hello 4s ease-in 0s;
}
@keyframes hello {
  0% {
    stroke-dashoffset: 2000;
    fill:transparent;
  }
  40% {
    stroke-dashoffset: 2000;
    fill:transparent;
  }
  50% {
    fill:transparent;
  }
  100% {
    stroke-dashoffset: 0;
    fill:#333;
  }
}
#logo_image .cls-2{
  stroke: url(#shinshi_gradetion);
  stroke-dasharray: 2000;
  stroke-dashoffset: 0;
  stroke-width: 1;
  -webkit-animation: hello1 4s ease-in 0s;
  animation: hello1 4s ease-in 0s;
}
@-webkit-keyframes hello1 {
  0% {
    stroke-dashoffset: 2000;
    fill:transparent;
  }
  40% {
    stroke-dashoffset: 2000;
    fill:transparent;
  }
  50% {
    fill:transparent;
  }
  100% {
    stroke-dashoffset: 0;
    fill: url(#shinshi_gradetion);
  }
}
#logo_image .cls-5{
  stroke: url(#shinshi_gradetion-2);
  stroke-dasharray: 2000;
  stroke-dashoffset: 0;
  stroke-width: 1;
  -webkit-animation: hello1 4s ease-in 0s;
  animation: hello1 4s ease-in 0s;
}
@keyframes hello1 {
  0% {
    stroke-dashoffset: 2000;
    fill:transparent;
  }
  40% {
    stroke-dashoffset: 2000;
    fill:transparent;
  }
  50% {
    fill:transparent;
  }
  100% {
    stroke-dashoffset: 0;
    fill: url(#shinshi_gradetion-2);
  }
}
#company_name{
  animation: nameMove 4s ease;
}
#under_text{
  animation: nameMove 3.5s ease;
}
@keyframes nameMove{
  0%{
    transform: translateY(10rem);
    opacity: 0;
  }
  80%{
    transform: translateY(9rem);
    opacity: 0;
  }
  100%{
    transform: translateY(0);
    opacity: 1;
  }
}
#logo.is-active {
    opacity: 0;
    visibility: hidden;
  }
/*ーーーー
header
ーーーー*/
.headerWrap{
  display: flex;
  position: absolute;
  top: 0;
  z-index: 1000;
  width: 100%;
  justify-content: space-between;
  border-bottom: 0.1rem solid #fff;
}
.headerWrap.active,
.header .headerWrap.active {
  background-color: rgba(255,255,255,0.1);
  -webkit-backdrop-filter: blur(50px); /* ぼかしエフェクト */
  backdrop-filter: blur(50px);
  position: fixed;
}
.headLogo{
  width:12.8rem;
}
.headerInner{
  display: none;
  width: 100%;
  color: #f2f3f3;
  background-image: linear-gradient(90deg, rgba(233, 85, 4, 1), rgba(185, 0, 7, 1));
  height: 100vh;
  position: fixed;
  top: 0;
  z-index: 999;
}
.headerInner.active {
  display: block;
}
.headerPhone {
  text-align: center;
}
.headerNav{
  text-align: center;
  margin-bottom: 3.2rem;
  padding-top: 24rem;
  font-size: 2.4rem;
  line-height: 2.4;
}
.headerNav li a{
  position: relative;
}
.headerNav li a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.24rem;
  transition: all .3s;
  transform: scale(0, 1);/*X方向0、Y方向1*/
  transform-origin: left top;/*左上基点*/
  background:#f2f3f3;
}
.headerNav li a:hover::after {
  transform: scale(1, 1);/*X方向にスケール拡大*/
}
.hamburger {
  width: 4.8rem;
  height: 3.6rem;
  position: relative;
  top:6.4rem;
  right: 16rem;
  cursor: pointer;
}
.hamburger span{
  position: absolute;
  height: 0.2rem;
  width: 100%;
  transition: .3s;
  z-index: 99;
}
.hamburger span:nth-of-type(3)::after{
  content: "MENU";
  width: 4.8rem;
  padding-top: 0.8rem;
  display: block;
  text-align: center;
}
.hamburger span:nth-of-type(1) {
  top: 0;
}
.hamburger span:nth-of-type(2) {
  top: 1.4rem;
}
.hamburger span:nth-of-type(3) {
  top: 2.8rem;
}
.hamburger.active span:nth-of-type(1) {
  top: 1.2rem;
  transform: rotate(30deg);
}
.hamburger.active span:nth-of-type(2) {
  opacity: 0;
}
.hamburger.active span:nth-of-type(3) {
  top: 1.2rem;
  transform: rotate(-30deg);
}
.hamburger.active span:nth-of-type(3)::after{
  display: none;
}
/*class headerTop version*/
.headerTop .headerWrap h1{
  padding: 4.8rem 12.8rem 3.2rem 32rem;
  border-right:0.1rem solid #fff;
}
.headerTop .hamburger span{
  background-color: #fff;
}
.headerTop .hamburger span:nth-of-type(3)::after{
  color: #fff;
}

/*class header version*/
.header .headerWrap{
  background-color: #fff;
  position: fixed;
  width: 100vw;
  top: 0;
  z-index: 1000;
}
.header .headerWrap h1{
  padding: 4.8rem 12.8rem 3.2rem 32rem;
  border-right:1px solid #b90007;
}
.header .headerWrap{
  border-bottom: 0.1rem solid #b90007;
}
.header .headerWrap.active h1,
.header .headerWrap.active{
  border-color: #fff;
}
.header .headerWrap.active .headLogo{
  background-image: url(img/topHeader.svg);
  background-repeat: no-repeat;
  background-position: center;
}
.header .headerWrap.active .headLogo img{
  opacity: 0;
}
.header .hamburger span{
  background-color: #b90007;
}
.header .hamburger span:nth-of-type(3)::after{
  color: #b90007;
}
.header .hamburger.active span{
  background-color: #fff;
}
.header .hamburger.active span:nth-of-type(3)::after{
  color: #fff;
}


/*ーーーーーーー
  top fullview
ーーーーーーーー*/
.topFade{
  position: relative;
}
.topFade-slick::after{
  content: "";
  background-color: #000;
  opacity: 0.2;
  position: absolute;
  width: 100vw;
  height: 100%;
  top: 0;

}
.fv-animation{
  -webkit-animation: fadezoom 8s 0s forwards;
          animation: fadezoom 8s 0s forwards;
}
@-webkit-keyframes fadezoom {
  0% {
  transform: scale(1);
  }
  100% {
  transform: scale(1.2);
  }
}
@keyframes fadezoom {
  0% {
  transform: scale(1);
  }
  100% {
  transform: scale(1.2);
  }
}
.topFade_txt{
  position: absolute;
  text-align: center;
  width: 100%;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  color: #f2f3f3;
  font-family: 'Noto Serif JP',serif;
}
.copy{
  font-size: 2.4rem;
}
.barInfo .info-list a {
  padding: 1.2rem 0;
  display: block;
}
.info-list_cat{
  background-image: linear-gradient(90deg, rgba(233, 85, 4, 1), rgba(185, 0, 7, 1));
  padding: 0.8rem 5.4rem 0.8rem 1.6rem;
  margin-right: 1em;
  color: #f2f3f3;
}
.topNews{
  padding: 2.4rem 32rem;
  font-size: 1.6rem;
  background-color: #f2f3f3;
  margin: 0 auto;
}
.news{
  color: #b90007;
}

/*ーーーーーー
top company
ーーーーーー*/
.topCompanyInner{
  display: flex;
  max-width: 96rem;
  margin: 0 auto;
  align-items: center;
  justify-content: center;
}
.mainLogo{
  width: 18rem;
  margin: 0 auto;
}
.topCompanyTxtarea{
  width: 65%;
}
.topCompanyTxtarea .largeTxt{
  text-align: start;
}
.topCompanyTxtarea .txt{
  text-align: justify;
}

/*ーーーーー
  business
ーーーーーー*/
.topBusiness{
  padding-top: 9.6rem;
  background-color: #191817;
  color: #f2f3f3;
  padding-bottom:12.8rem;
}
.topBusiness .jaTtl{
  color: #f2f3f3;
}
.businessWrapper{
  display: flex;
  flex-wrap: nowrap;
  margin-top: 6.4rem;
  justify-content: space-around;
}
.businessContent{
  width: 36rem;
  height: 54rem;
}
.businessContent:last-of-type{
  margin-right: 0;
}
.businessContent a{
  display: block;
  position: relative;
  overflow: hidden;
  max-width: 36rem;
  max-height: 54rem;
  z-index: 100;
}
.businessContent a::before{
  position: absolute;
  content: "";
  display: block;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  transform-origin: top left;
  background-color: rgba(185, 0, 7, 0.4);
  z-index: 99;
  transition: 0.8s;
}
.businessContent a:hover::before {
  background-image: linear-gradient(90deg, rgba(233, 85, 4, 1), rgba(185, 0, 7, 1));
  bottom: calc(100% - 7.2rem);
  transform: skewY(0);
  transition: 0.8s;
  opacity: 1;
}
.businessContent a:hover img{
  opacity: 0.8;
}
.moreBtn{
  position: absolute;
  width: 50%;
  left: 50%;
  transform: translate(-50%);
  bottom: 2.4rem;
  opacity: 0;
  z-index: 999;
  letter-spacing: 0.5rem;
  text-align: center;
  padding: 1.6rem 2.4rem;
  background-image: linear-gradient(90deg, rgba(233, 85, 4, 1), rgba(185, 0, 7, 1));
  color: #f2f3f3;
  border: #f2f3f3 solid 0.1rem;
  transition: 0.8s;
  font-family: 'Noto Sans JP',sans-serif;
}
.businessContent a:hover .moreBtn{
  opacity: 1;
  transition: 0.8s;
}
.businessTxtarea{
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  color: #f2f3f3;
  z-index: 100;
}
.busiTtl{
  text-align: center;
  line-height: 1.5;
  letter-spacing: 1em;
  padding-top: 2.4rem;
}
.businessTxtarea .txt{
  text-align: justify;
  line-height: 1.5;
  transition: 0.8s;
  position: absolute;
  bottom: -2.4rem;
  width: 70%;
  left: 50%;
  transform: translateX(-50%);
}
.businessContent a:hover .businessTxtarea .txt{
  opacity: 0;
}

/*ーーーーーー
top info
ーーーーーーー*/
.topInfo .info-list_cat{
  background-color: transparent;
  padding: 0.8rem 3.2rem;
  color: #fff;
}
.topInfo{
  margin-bottom: 9.6rem;
  position: relative;
}
.topInfo_listWrapper{
  width: 70%;
  margin:0 auto;
  margin-top: 3.2rem;
  height: 24rem;
  overflow: scroll;
}
::-webkit-scrollbar{
  height: 0;
}
.topInfo_listWrapper .info-list{
  border-bottom: solid 0.024rem #b90007;
  padding: 1.6rem 0.8rem;
}
.topInfo_listWrapper .info-list:hover{
  color: #b90007;
}

/*ーーーーーー
top work
ーーーーーーー*/
.topWorks{
  padding-top: 9.6rem;
  background-color: #191817;
  color: #f2f3f3;
  padding-bottom:12.8rem;
}
.topWorks .jaTtl{
  color: #f2f3f3;
}
.topWorkSlick{
  margin-bottom: 6.4rem;
}
.workBtn{
  display: block;
  margin:0 1.6rem;
  border: #e95504 1px solid;
}
.worksWrap {
  height: auto;
  width: 100%;
  padding: 0.8rem;
  box-sizing: border-box;
  transition: .3s;
  display: block;
}
.workBtn figcaption{
  margin-top: 0.8rem;
  height: 4.8rem;
  text-align: center;
}
.workBtn:hover figure{
  background-color: #f2f3f3;
  color: #b90007;
}
.slick-prev, .slick-next {
  background: #fff !important;
  width: 4.8rem !important;
  height: 4.8rem !important;
  border-radius: 2.4rem;
  z-index: 1;
  margin: -1.2rem;
}
.slick-prev::before,.slick-next::before{
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 600;
}
.slick-prev::before{
  content: "\f053" !important;
  color: #191817 !important;
  text-align: center;
  display: block;
}
.slick-next::before{
  content: "\f054" !important;
  color: #191817 !important;
  text-align: center;
  display: block;
}

/*ーーーーーー
top contact
ーーーーーーー*/
.topContact{
  padding-top: 9.6rem;
  margin-bottom: 12.8rem;
}
.topContactInner .phoneBtn{
  display: block;
  text-align: center;
  font-size: 8rem;
  font-weight: bold;
  color: #b90007;
  margin: 4.8rem auto;
  letter-spacing: 0.3rem;
  line-height: 1;
}
.topContactInner .btnArrow{
  margin: 0 auto 2.4rem;
}
/*ーーーー
 top btn
ーーーーー*/
.backToTop {
  display: block;
  width: 7.2rem;
  height: 7.2rem;
  background: #b90007;
  border: 0.2rem solid #f2f3f3;
  border-radius: 3.6rem;
  position: fixed;
  bottom: 7.2rem;
  right: 5.4rem;
  z-index: 9;
  transition: none;
}
.backToTop i{
  color: #f2f3f3;
  width: 100%;
  text-align: center;
  line-height: 7.2rem;
  font-size: 2.4rem;
}
.backToTop.fixed {
  position: static;
  margin-bottom: 2.8rem;
  margin-left: auto;
  margin-right: 5.4rem;
  margin-top: -9.6rem;
}

/*ーーーー
  footer
ーーーーー*/
.footer{
  background-image: linear-gradient(90deg, rgba(233, 85, 4, 1), rgba(185, 0, 7, 1));
  width: 100vw;
  color: #fff;
}
.footerWrap,
.footListWrap,
.sitemap,
.footBusinessList,
.footerAdd{
  display: flex;
}
.footerWrap{
  justify-content: space-between;
  align-items: center;
  padding: 9.6rem 0 4.8rem;
}
.footLogo{
  width: 20%;
  padding-bottom: 2.4rem;
}
.footLogo img{
  max-width: 18.8rem;
}
.footerRightWrap{
  width: 65%;
}
.sitemapWrap{
  padding-bottom: 3.6rem;
}
.sitemap{
  justify-content: space-between;
}
.sitemap ul{
  line-height: 3;
}
.sitemap ul:last-of-type{
  width: 45%;
}
.sitemap li{
  transition: 0.3s;
}
.footListWrap{
  justify-content: flex-start;
  align-items: flex-end;
}
.sitemap ul .footBusinessList{
  flex-wrap: nowrap;
  width: 100%;
}
.footBusinessList li{
  line-height: 3;
  width: calc(100%/3);
  transition: 0.3s;
}
.footerAdd{
  align-items: center;
  flex-wrap: nowrap;
  justify-content: flex-end;
}
.footerAdd h3{
  padding-bottom: 1.2rem;
  margin-right: 7.2rem;
  font-size: 2.1rem;
  font-family: 'Noto Serif JP',serif;
}
.footerAdd .txt{
  text-align: start;
  line-height: 2;
  margin-bottom: 1.6rem;
}
.copyright{
  padding: 0.8rem;
  text-align: center;
  color: #fff;
  background-color: #191817;
}
/*----------
company-page
----------*/
.company{
  margin-top: 26.9rem;
}
.companyMedia{
  max-width: 96rem;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 6.4rem auto;
}
.companyMedia img{
  max-width: 18.8rem;
}
.companyMedia .largeTxt{
  text-align: left;
  width: 60%;
  margin: 0;
}
.companyInformation{
  display: flex;
  max-width:96rem;
  justify-content: space-around;
  margin: 0 auto 12.8rem;
}
.companyList{
  width: calc(50% - 4.8rem);
}
.companyInformation dd{
  border-bottom: solid 1px #ccc;
  padding: 0 0 2.4rem;
  margin: 0 0 2.4rem;
  font-size: 1.4rem;
  line-height: 1.8;
}
iframe{
  border: 0;
  margin: 0 auto 12.8rem;
  display: block;
}
#recruit .ttlWrapper{
  padding-top: 24rem; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -16rem; /* heightと同じ分のネガティブマージン */
}
.recruitList{
  display: flex;
  flex-wrap: wrap;
  max-width: 960px;
  justify-content: center;
  margin: 60px auto 0;
}
.recruitList dt,
.recruitList dd{
  border-bottom: solid 1px #ccc;
  padding: 0 0 20px;
  margin: 0 0 20px;
  font-size: 1.4rem;
  line-height: 1.8;
}
.recruitList dt{
  width: 25%;
}
.recruitList dd{
  width: 65%;
}

/*------------
business-page
-------------*/
.business{
  margin-top: 26.9rem;
}
.businessWrap{
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding-top: 17.3rem; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -6.4rem; /* heightと同じ分のネガティブマージン */
  padding-bottom: 9.6rem;
  border-bottom: 0.1rem solid #7e7f7f;
}
.businessWrap:last-child{
  border-bottom: none;
  padding-bottom: 0;
}
.reverse{
  flex-direction: row-reverse;
}
.busiTypeImg{
  width: 55%;
}
.busiTypeImg img{
  height: 100%;
  object-fit: cover; 
  object-position: 80%;
}
.businessContentTxt{
  width: 45%;
  padding: 0 4.8rem;
}
.busiType{
  font-size: 2.8rem;
  font-family: 'Noto Serif JP',serif;
  line-height: 1;
}
.busiTypeJp{
  padding: 1.6rem 0; 
  color: #b90007;
}
.detailHead{
  display: inline-block;
  font-family: 'Noto Serif JP',serif;
  font-size: 1.8rem;
  padding-bottom: 0.2rem;
  margin-bottom: 0.2rem;
  border-bottom: #b90007 solid 0.1rem;
}
.businessContentTxt .txt{
  text-align: justify;
  margin-bottom: 1.6rem;
  letter-spacing: 0.2rem;
}
.businessDetail .txt{
  margin-left: 1.4rem;
}
/*----------
works-page
----------*/
.works{
  padding-top: 9.6rem;
  background-color: #191817;
  color: #f2f3f3;
  padding-bottom: 12.8rem;
  margin-top: 12rem;
}
.works .page-jaTtl{
  color: #f2f3f3;
}
.worksList{
  display: flex;
  flex-wrap: wrap;
}
.worksContent {
  margin-bottom: 1.6rem;
  margin-right: 0.8rem;
  margin-left: 0;
  width: calc(95%/4);
  border: 0.1rem solid #e95504;
  padding: 1.2rem;
}
.worksContent:hover{
  background-color: #f2f3f3;
  color: #b90007;
}
.worksContent:nth-child(4n){
  margin-right: 0;
}
.works .worksWrap figcaption{
  text-align: center;
  padding: 1.2rem 0 0;
}
.nav-links{
  text-align: center;
  margin: 3.6rem;
}
.nav-links a, .nav-links span{
  display: inline-block;
  background-color: #b90007;
  border: 0.1rem solid #f2f3f3;
  color: #f2f3f3;
  padding: 1.2rem 1.6rem;
  transition: .3s;
}
.nav-links .current{
  background-color: #f2f3f3;
  color: #b90007;
}
.nav-links a:hover, .nav-links span:hover{
  background-color: #f2f3f3;
  color: #b90007;
}
/*---------------
singleworks-page
---------------*/
.singleWorks {
  display: flex;
  width: 100%;
  padding-bottom: 12.8rem;
}
.works_mainImg {
  padding:2.4rem;
  border: 0.1rem solid #e95504;
  margin-right: 1.6rem;
  width: 60%;
}
.works_singleImgList {
  border: 0.1rem solid #e95504;
  width: 40%;
  padding: 2.4rem;
  position: relative;
}
.works_imgList_inner .slick-track {
  transform: translate3d(0,0,0) !important;
  width: 100% !important;
}
.works_imgList_inner li {
  margin-bottom: 2.4rem;
  margin-right: 2.4rem;
  width: calc(94%/2) !important;
}
.works_imgList_inner li:nth-child(even){
  margin-right: 0;
}
.works .btnArrow{
  margin: 4.8rem auto;
}
/*---------------
contact-page
---------------*/
.contact{
  margin-top: 26.9rem;
}
.contactForm{
  margin-top: 8rem;
}
.contactTxt{
  max-width: 88rem;
  margin: 0 auto 4.8rem;
  text-align: justify;
}
.contact dl {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 88rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3.2rem;
}
.contact dl dt {
  width: 20%;
}
.contact dl dd {
  width: 80%;
}
.contact dl dd .inputExample{
  color: #b5b5b6;
  display: block;
}
.contact dl dd textarea,
.contact dl dd input {
  padding: 0.8rem;
  display: inline-block;
  line-height: 2;
  border: solid 0.1rem #ccc;
  border-radius: 0.4rem;
  width: 100%;
  font-size: 1.4rem;
}
.contact dl dd input.postNumber{
  width: 16rem;
  margin-bottom: 3.2rem;
  margin-left: 1.2rem;
}
.ddbox,
.ddbox2,
.ddbox label,
.ddbox2 label{
  display: flex;
}
.mwform-checkbox-field{
  width: 20%;
}
.contact dl dd input.p-postal-code{
  width: 30%;
}
.ddbox label span,
.ddbox2 label span{
  width: 3rem;
}
.ddbox span label input,
.ddbox2 span label input{
  width: 30%;
}
input::placeholder{
  opacity: 0.3;
}
.privacyHead{
  text-align: center;
  padding-top: 17.3rem; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -17.3rem; /* heightと同じ分のネガティブマージン */
}
.privacyTxt{
  padding: 2.4rem;
  max-width: 72rem;
  margin-top: 4.8rem;
  margin-left: auto;
  margin-right: auto;
  border: 0.1rem solid #ccc;
  height: 26rem;
  line-height: 1.7;
  overflow: scroll;
}
.privacyAgree_wrapper{
  text-align: center;
  margin-top: 4.8rem;
}
.submit-btn{
  display: block;
  width: 24rem;
  margin: 0 auto;
  position: relative;
  margin: 4.8rem auto 6.4rem;
}
input[type="submit"]{
  cursor: pointer;
  -webkit-appearance: none;
  width: 100%;
  padding: 1.6rem;
  background-image: linear-gradient(90deg, rgba(233, 85, 4, 1), rgba(185, 0, 7, 1));
  color: #f2f3f3;
}
.mw_wp_form_confirm{
  padding-bottom: 8rem;
}
.mw_wp_form_confirm .privacyHead,
.mw_wp_form_confirm .privacyTxt,
.mw_wp_form_confirm .privacyAgree,
.mw_wp_form_confirm .contactTxt{
  display: none;
}
.mw_wp_form_confirm .inputExample{
  display: none !important;
}
.mw_wp_form_confirm .contact dl dt{
  width: 30%;
}
.mw_wp_form_confirm .contact dl dd{
  width: 70%;
}
.mw_wp_form_complete{
  padding-bottom: 8rem;
  text-align: center;
}
.mw_wp_form_complete h3{
  font-size: 2.4rem;
  padding-bottom: 2.4rem;
}
.contact.decoration::after{
  top: auto;
  bottom: -3.2rem;
}

/*---------------
infomation-page
---------------*/
.infomation{
  margin-top: 26.9rem;
}
.infoWrap{
  max-width:96rem;
  margin: 0 auto;
}
.singleHead h3{
  font-size: 2.4rem;
  margin: 4.8rem 0 1.6rem;
  letter-spacing: 0.1em;
}
.catWrapper{
  margin-bottom: 1.6rem;
}
.cat{
  background-color: #b90007;
  color: #f2f3f3;
  padding: 0.8rem 1.6rem;
  letter-spacing: 0.1rem;
  border-radius: 2.4rem;
}
.date{
  margin-left: 2rem;
  border-bottom: 0.1rem solid #b90007;
}
.exalink{
  background-color: #e95504;
  color: #f2f3f3;
  padding: 0.8rem 1.6rem;
  display: inline-block;
  border-radius: 2.4rem;
  letter-spacing: 0.1rem;
}
.exalink:hover{
  background-color: #e95504ba;
}
.singleContent{
  margin-top: 3.2rem;
  margin-bottom: 9.6rem;
}
.singleContent p{
  margin-bottom: 0;
}