 /*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

 html,
 body,
 div,
 span,
 object,
 iframe,
 h1,
 h2,
 h3,
 h4,
 h5,
 h6,
 p,
 blockquote,
 pre,
 abbr,
 address,
 cite,
 code,
 del,
 dfn,
 em,
 img,
 ins,
 kbd,
 q,
 samp,
 small,
 strong,
 sub,
 sup,
 var,
 b,
 i,
 dl,
 dt,
 dd,
 ol,
 ul,
 li,
 fieldset,
 form,
 label,
 legend,
 table,
 caption,
 tbody,
 tfoot,
 thead,
 tr,
 th,
 td,
 article,
 aside,
 canvas,
 details,
 figcaption,
 figure,
 footer,
 header,
 hgroup,
 menu,
 nav,
 section,
 summary,
 time,
 mark,
 audio,
 video {
   margin: 0;
   padding: 0;
   border: 0;
   outline: 0;
   font-size: 100%;
   vertical-align: baseline;
   background: transparent;
 }

 article,
 aside,
 details,
 figcaption,
 figure,
 footer,
 header,
 hgroup,
 menu,
 nav,
 section {
   display: block;
 }

 nav ul {
   list-style: none;
 }

 blockquote,
 q {
   quotes: none;
 }

 blockquote:before,
 blockquote:after,
 q:before,
 q:after {
   content: "";
   content: none;
 }

 a {
   margin: 0;
   padding: 0;
   font-size: 100%;
   vertical-align: baseline;
   background: transparent;
 }

 /* change colours to suit your needs */
 ins {
   background-color: #ff9;
   color: #000;
   text-decoration: none;
 }

 /* change colours to suit your needs */
 mark {
   background-color: #ff9;
   color: #000;
   font-style: italic;
   font-weight: bold;
 }

 del {
   text-decoration: line-through;
 }

 abbr[title],
 dfn[title] {
   border-bottom: 1px dotted;
   cursor: help;
 }

 table {
   border-collapse: collapse;
   border-spacing: 0;
 }

 /* change border colour to suit your needs */
 hr {
   display: block;
   height: 1px;
   border: 0;
   border-top: 1px solid #cccccc;
   margin: 1em 0;
   padding: 0;
 }

 input,
 select {
   vertical-align: middle;
 }

 /******************* リセットcssここまで **********************/

 /*********************** 共通 ******************************/
 html {
   margin: 0;
   padding: 0;
 }

 body {
   margin: 0;
   padding: 0;
   font-weight: 500;
   color: #333;
   line-height: 1.5;
   letter-spacing: 0.1em;
   font-family: 'Avenir', 'Helvetica Neue', 'Helvetica', 'Arial', 'Hiragino Sans', 'ヒラギノ角ゴシック', YuGothic, 'Yu Gothic', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
 }

 *,
 *:before,
 *:after {
   -webkit-box-sizing: border-box;
   box-sizing: border-box;
 }

 h2,
 h3,
 h4,
 h5 {
   margin: 0;
   padding: 0;
 }

 p {
   margin: 0;
   padding: 0;
 }

 img {
   width: 100%;
   vertical-align: bottom;
 }

 figure {
   margin: 0;
 }

 table {
   border-collapse: collapse;
   border-spacing: 0;
 }

 ul,
 li,
 dl,
 dt,
 dd {
   margin: 0;
   padding: 0;
   list-style: none;
 }

 a {
   text-decoration: none;
   transition: all 0.6s ease;
 }

 a:hover {
   transition: all 0.6s ease;
 }

 .content-wrapper {
   width: 90%;
   margin: 0 auto;
   max-width: 1280px;

 }

 .container {
   padding: 120px 0;
 }

 @media screen and (max-width: 768px) {
   .container {
     padding: 40px 0;
   }
 }


 img {
   width: 100%;
   vertical-align: bottom;
 }

 * {
   list-style: none;
 }

 a {
   text-decoration: none;
   color: #fff;
 }

 /*********************** 共通 ここまで******************************/
 main {
   position: relative;
   z-index: 0;
   overflow: hidden;
 }

 header {
   position: fixed;
   width: 100%;
   z-index: 100;
 }

 .mail-form {
   text-align: center;
 }

 .mail-form iframe {
   width: 100%;
   height: 460px;
 }

 .site-logo {
   color: #2a2a2a;
   font-size: 20px;
   font-weight: 600;
   width: 400px;
   display: block;
 }

 @media screen and (max-width:768px) {
   .site-logo {
     justify-content: center;
     font-size: 18px;
     width: 285px;

   }
 }

 .site-logo img {
   width: 100%;
   margin-right: 5px;
 }

 .site-logo-txt {
   padding-left: 10px;
 }

 .sp-nav-btn,
 .sp-nav {
   display: none;
 }

 .header-wrapper {
   display: flex;
   align-items: center;
   padding: 1% 3vw;
   transition: ease-in 0.3s;
   background: #e3def1;
 }

 .button {
   padding: 0 20px;
   border-radius: 50px;
   position: relative;
 }


 .fa-chevron-right {
   position: absolute;
   right: 25px;
   top: 50%;
   transform: translateY(-50%);
 }



 .pc-nav ul li {
   display: inline-block;
   vertical-align: middle;
   padding: 0 10px;
 }

 .pc-nav {
   margin-left: auto;
   display: flex;
   align-items: center;
 }


 .contact-btn {
   position: fixed;
   text-align: center;
   padding: 0 80px;

   right: 0;
   top: 0;
   z-index: 10;
   background-color: blue;
 }

 .hover-under-line a {
   position: relative;
   display: inline-block;
   margin: 10px 0;
   font-size: 14px;
   font-weight: bold;
   color: #2a2a2a;
 }

 .sp-nav .hover-under-line a {
   position: relative;
   display: inline-block;
   margin: 10px 0;
   font-size: 14px;
   color: #2a2a2a;
 }

 .footer-under-line a {
   color: #ffffff;
   margin: 0 16px;
 }

 @media screen and (max-width:768px) {
   .footer-under-line a {
     color: #ffffff;
     margin: 12px 0;
   }
 }

 .hover-under-line a:after {
   position: absolute;
   bottom: -4px;
   left: 0;
   content: "";
   width: 100%;
   height: 2px;
   background: #2a2a2a;
   opacity: 0;
   visibility: hidden;
   transition: 0.3s;
 }

 .footer-under-line a:after {
   background: #fff;
 }

 .footer-under-line a:after {
   bottom: -8px;
 }

 .hover-under-line a:hover:after {
   bottom: 0;
   opacity: 1;
   visibility: visible;
 }

 .footer-under-line a:hover:after {
   bottom: -4px;
 }

 /* メインビジュアル */

 .mv {
   position: relative;
   z-index: 1;
   overflow: hidden;
   background-position: center;
   width: 100%;
   height: 80vh;
   background: url(../img/mv_pc.jpg) no-repeat;
   background-size: cover;
 }

 @media (width <=767.98px) {
   .mv {
     width: 100%;
     height: 70vh;
     background: url(../img/mv_sp.jpg) no-repeat;
     background-size: cover;
   }
 }

 /* .mv__movie {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   min-width: 100%;
   min-height: 100%;
 } */

 #slider {
   margin-left: auto;
   width: 100%;
   height: 100vh;
   /*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
 }

 .vegas-overlay {
   opacity: 1;
 }

 .main-title {
   color: #fff;
   position: absolute;
   top: 48%;
   left: 50%;
   transform: translate(-50%, -50%);
   text-align: center;
   font-size: 56px;
   line-height: 1.5;
   text-shadow: 0px 0px 4px #4f4f4f;
   width: 100%;
 }

 /* @media (width <= 767.98px) {
  .main-title {
       top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
  }
 } */

 .main-title__sub {
   color: #fff;
   position: absolute;
   top: 65%;
   left: 50%;
   transform: translate(-50%, -50%);
   text-align: center;
   font-size: 18px;
   width: 100%;
   text-shadow: 0px 0px 4px #4f4f4f;
   margin-top: 40px;
 }


 @media screen and (max-width: 768px) {

   .main-title {
     color: #fff;
     font-size: 32px;
     transform: none;
        top: 38%;
     left: 0;
   }

   .main-title__sub {
     font-size: 16px;
     width: 80%;
     color: #fff;
     margin-top: none;

   }

   .mv_other h2 {
     font-size: 36px;
     /* white-space: nowrap; */
   }


 }


 @media screen and (max-width: 599px) {
   .main-title {
     font-size: 24px;        
     top: 38%;
   }

   .main-title__sub {
     top: 60%;
   }
 }


 /* メインビジュアル */

 /* スクロール後ヘッダー背景色 */
 /* .header-wrapper.addColor {
  background: none;
  transition: ease-in 0.3s;
  background: #062244;
} */

 /* スクロール後ヘッダー背景色 */

 .content-wrapper {
   width: 90%;
   margin: 0 auto;
   max-width: 1400px;

   &.-narrow {
     max-width: 1000px;
   }
 }

 .section-title {
   text-align: center;
   font-size: 32px;
   text-wrap: balance;
   word-break: auto-phrase;
   /* white-space: nowrap; */
 }

 @media screen and (max-width: 768px) {
   .section-title {
     font-size: 20px;
   }

   .sub-text {
     font-size: 18px;
     bottom: 20px;
   }
 }

 .about {
   background: url(img/about_bg.jpg) no-repeat;
   background-size: cover;
   background-position: center;
   text-align: left;
   padding: 120px 0;
   overflow: hidden;
   position: relative;
   z-index: 0;
 }

 .about:before {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-color: rgba(255, 255, 255, 0.695);
   background-blend-mode: lighten;
   z-index: -1;
 }

 .about__title {
   font-size: 48px;
   font-family: "Noto Serif JP", serif;
 }

 .about__text {
   max-width: 600px;
   margin: 40px auto 0;
   text-align: center;
   font-family: "Noto Serif JP", serif;
 }

 .president {
   display: flex;
   justify-content: end;
   align-items: flex-end;
   /* gap: 10px;
   text-align: right; */
   margin-top: 40px;
   /* line-height: 1;
   margin-inline: auto;
   max-width: 600px;
   font-family: "Noto Serif JP", serif; */

   .name {
     width: 250px;
   }
 }



 .about__list {
   margin: 80px 0;
 }

 .about__item {
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin: 160px 0;
 }

 .about__item:nth-child(2n) {
   flex-direction: row-reverse;
 }

 .about__image-wrapper {
   width: 48%;
   position: relative;
   top: -100px;
   z-index: 1;
   box-shadow: rgb(0 0 0 / 35%) 0px 5px 15px;
 }

 .about__image-wrapper img {
   object-fit: cover;
   min-height: 450px;
 }

 .about__text-inner {
   width: 48%;
   text-align: justify;
   position: relative;
   z-index: 1;
   padding: 80px 0;
   color: #ffffff;
 }

 .about__text-inner:before {
   content: '';
   background-color: #00A0E9;
   position: absolute;
   top: 0;
   left: 0;
   width: 100vw;
   height: 100%;
   margin: 0 calc(50% - 50vw);
   z-index: -1;
 }

 .about__text-inner h3 {
   font-size: 32px;
 }

 .about__text-inner p {
   margin-top: 40px;
 }


 @media screen and (max-width: 768px) {
   .about {
     padding: 40px 0;
   }

   .about__title {
     font-size: 24px;
   }

   .about__text {
     text-align: left;
     ;
   }

   .about__list {
     margin: 20px 0;
   }


   .about__item {
     flex-direction: column-reverse;
     margin: 40px 0;
   }

   .about__item:nth-child(2n) {
     flex-direction: column-reverse;
   }

   .about__image-wrapper {
     width: 100%;
     position: static;
   }

   .about__image-wrapper img {
     height: auto;
     min-height: unset;
   }

   .about__text-inner {
     width: 100%;
     padding: 40px 0;
   }

   .about__text-inner h3 {
     font-size: 18px;
   }

   .about__text-inner p {
     margin-top: 20px;
   }

 }

 .service {
   padding: 120px 0;
   background-size: cover;
   position: relative;
   text-align: center;
   background-color: #E3DEF1;
 }

 /* .service__list {
   display: flex;
   flex-wrap: wrap;
   margin: 40px 0;
 }

 .service__item {
   width: 23%;
 }

 .service__item:not(:nth-child(4n+4)) {
   margin-right: 2.5%;
 }

 .service__item:nth-child(n+5) {
   margin-top: 20px;
 }

 .service__item h3 {
   text-align: left;
   font-size: 24px;
   padding-left: 1rem;
   margin-bottom: 10px;
   border-left: 4px solid #EDD503;
   font-weight: bold;
   color: #EDD503;
 }

 .service__item img {
   width: 100%;
   height: 200px;
   object-fit: cover;
 } */


 .service__text-inner {
   text-align: left;
   margin-top: 20px;
 }



 @media screen and (max-width:768px) {
   .service {
     padding: 40px 0;
   }

   .service__list {
     display: block;
   }

   .service__item {
     width: 100%;
     margin-bottom: 20px;
   }

   .service__item img {
     height: auto;
     min-height: unset;
   }

 }

 .works__inner {
   display: flex;
   align-items: center;
   justify-content: space-between;
 }

 .works__inner figure,
 .works__text {
   width: 48%;
 }

 .works__inner figure img {
   width: 100%;
   object-fit: cover;
 }

 .works__text {
   text-align: left;
 }

 .works__text .section-title {
   text-align: left;
 }

 .works__text p {
   margin: 40px 0;
 }

 .works {
   padding: 120px 0;
   background-size: cover;
   position: relative;
   text-align: center;
   /* background-color: #E3DEF1; */
 }

 .works__text-inner {
   text-align: left;
   margin-top: 20px;
 }



 @media screen and (max-width:768px) {
   .works {
     padding: 40px 0;
   }

   .works__list {
     display: block;
   }

   .works__item {
     width: 100%;
     margin-bottom: 20px;
   }

   .works__item img {
     height: auto;
     min-height: unset;
   }

   .works__inner figure,
   .works__text {
     width: 100%;
   }

 }

 .property-list {
   padding: 120px 0;

   table thead th {
     background-color: #e3def1;
   }
   .wp-block-table thead {
    border-bottom: 1px solid;
   }
 }

 @media (width <=767.98px) {
   padding: 40px;
 }


 .contact {
   /* background: url(../img/contact_ph.jpg)no-repeat;
   background-size: cover; */
   /* background-color: #E3DEF1; */
   text-align: center;
   /* color: #fff;
  .section-title {
    text-shadow: #4f4f4f 0 1px 10px;
  } */
 }

 /* .contact .c-button {
   color:#333 ;
   border: 1px solid #fff;
   background-color: #fff;
 } */

 .c-button-wrapper {
   margin: 40px 0 0;
 }


 .company {
   padding: 120px 0;
   background-size: cover;
   position: relative;
   text-align: center;
   background-color: #e3def1;
 }

 .company__text-inner {
   text-align: left;
   margin-top: 20px;
 }



 @media screen and (max-width:768px) {
   .company {
     padding: 40px 0;
   }

   .company__list {
     display: block;
   }

   .company__item {
     width: 100%;
     margin-bottom: 20px;
   }

   .company__item img {
     height: auto;
     min-height: unset;
   }

 }

 /* 各セクションボタン上の文章 */
 .desc-text {
   text-align: center;
   word-break: keep-all;
   font-size: 1.25em;
   margin-block: 2.5em;
 }

 /********************************* index.htmlここまで *********************************/

 .mv__other {
   position: relative;
 }

 .mv__other figure img {
   height: 400px;
   object-fit: cover;
   object-position: center;
 }

 .company-photo {
   height: 400px !important;
   object-fit: cover !important;
   /* object-position: 50% 10% !important; */
 }

 .mv__other figure {
   height: 400px;
 }

 .mv__other figure:before {
   height: 400px;
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   max-height: 400px;
   background-color: rgba(0, 0, 0, 0.3);
   background-blend-mode: darken;
 }

 .mv__other h2 {
   position: absolute;
   top: 60%;
   left: 50%;
   transform: translate(-50%, -50%);
   color: #fff;
   font-size: 32px;
   font-weight: bold;
   white-space: nowrap;
 }

 .service-detail__box:nth-of-type(2n) {
   flex-direction: row-reverse;
 }

 .service-detail__box:not(:last-of-type) {
   margin-bottom: 120px;
 }

 .u-border {
   border: 3px solid #000;
   padding: 40px 20px;
 }

 .u-border h2 {
   background: linear-gradient(transparent 60%, #EDD503 0%);
   display: inline;
   padding: 0 2px 0px;
 }

 .service-detail__text {
   font-size: 16px;
 }

 .service-detail__list {
   background-color: #e3def1;
   padding: 20px;
 }

 .service-detail__list li {
   list-style-type: disc;
   margin-left: 27px;
   margin-top: 15px;
   font-size: 16px;

   @media screen and (max-width:768px) {
     font-size: 16px;
   }
 }

 @media screen and (max-width: 768px) {

   .service-detail__box {
     flex-direction: column;
     width: 100%;
   }

   .service-detail__box:nth-of-type(2n) {
     flex-direction: column;
   }

   .service-detail__text {
     font-size: 16px;
   }

   .u-border {
     padding: 20px 10px;
   }

 }



 /*************************** works.htmlここまで **************************/

 footer {
   background: #2a2a2a;
   color: #fff;
   padding: 40px 0;
 }

 .footer-left {
   width: 50%;
 }

 .footer-left h1 {
   margin-bottom: 20px;
 }

 .footer-right {
   width: 100%;
   height: auto;
 }

 .footer-right ul {
   display: flex;
   justify-content: flex-end;
   align-items: center;
   height: 100%;
 }

 .footer__last {
   font-size: 12px;
 }

 .footer-logo {
   color: #ffffff;
 }

 .flex {
   display: flex;
 }

.footer-tel-fax {
  width: min(166px ,78%);
  margin:5px auto;
}

 /***** ハンバーガー *****/
 @media screen and (max-width: 768px) {

   .sp-nav .hover-under-line img {
     width: 72px;
     position: relative;
     margin-bottom: 20px;
   }

   .sp-nav-btn,
   .sp-nav {
     display: block;
   }

   .pc-nav {
     display: none;
   }

   /* ハンバーガーボタンの中身 */
   .sp-nav-btn {
     position: relative;
     width: 25px;
     height: 16px;
     margin: 5% 0 7% 0;
     z-index: 20;
     margin-left: auto;
     cursor: pointer;
   }

   /* ハンバーガーボタンの中身 */

   /* ハンバーガーボタンの背景色 */
   .sp-nav-btn:before {
     content: "menu";
     position: absolute;
     color: #2a2a2a;
     width: 45px;
     height: 40px;
     font-size: 10px;
     top: -10px;
     right: -8px;
     /* background: #333333; */
     display: flex;
     justify-content: center;
     align-items: flex-end;
     padding-bottom: 0px;
     padding-top: 45px;
   }

   /* ハンバーガーボタンの背景色 */

   .pc-nav ul {
     display: none;
   }

   /* ハンバーガーの３本線 */

   .sp-nav-btn span {
     display: block;
     width: 100%;
     height: 2px;
     background-color: #2a2a2a;
     position: absolute;
   }

   .sp-nav-btn span:nth-of-type(1) {
     top: 0;
     right: 3px;
     transition: ease-in 0.3s;
   }

   .sp-nav-btn span:nth-of-type(2) {
     top: 0;
     bottom: 0;
     margin: auto;
     right: 3px;
     transition: ease-in 0.3s;
   }

   .sp-nav-btn span:nth-of-type(3) {
     bottom: 0;
     right: 3px;
     transition: ease-in 0.3s;
   }

   /* ハンバーガーの３本線 */

   /* ハンバーガークリック後の線の動き */
   .sp-nav-btn.active span:nth-of-type(1) {
     transform: translateY(10px) rotate(-45deg);
     transition: ease-in .3s;
     background-color: #2a2a2a;
   }

   .sp-nav-btn.active span:nth-of-type(2) {
     opacity: 0;
     transition: ease-in .3s;
   }

   .sp-nav-btn.active span:nth-of-type(3) {
     transform: translateY(-4px) rotate(45deg);
     background-color: #2a2a2a;
   }

   .sp-nav-btn.active:before {
     opacity: 0;
     transition: ease-in .3s;
   }

   /* ハンバーガークリック後の線の動き */

   /* ハンバーガークリック後のメニュー */
   .sp-nav {
     display: block;
     position: fixed;
     z-index: 10;
     top: 0;
     right: 0;
     width: 100vw;
     height: 100vh;
     transform: translateX(100vw);
     transition: ease-in 0.3s;
     background: #fff;
   }

   /* ハンバーガークリック後のメニュー */

   .sp-nav.active {
     transform: translateX(0);
   }

   /* ハンバーガークリック後メニュー中身 */
   .sp-nav ul {
     display: flex;
     flex-direction: column;
     justify-content: center;
     align-items: center;
     width: 100vw;
     height: 100vh;
   }

   .sp-nav ul li {
     font-size: 16px;
     text-align: center;
     padding-top: 12px;
   }

   .sp-c-button-wrapper {
     height: 50px;
     line-height: 50px;
   }

   /* ハンバーガークリック後メニュー中身 */

   /***** ハンバーガーここまで *****/
   footer {
     padding: 35px 0;
   }

   .footer-left {
     width: 100%;
     text-align: center;
   }

   .footer-left h1 {
     font-weight: 400;
     font-style: normal;
   }

   footer .logo {
     justify-content: center;
   }

   .flex {
     flex-direction: column-reverse;
   }

   .footer-right {
     margin-bottom: 30px;
   }

   .footer-right ul {
     flex-direction: column;
   }
 }

 @media(min-width: 768px) {
   a[href^="tel:"] {
     pointer-events: none;
   }
 }

 .copyright {
   font-family: Verdana, “Droid Sans”;
 }

 /*スクロールダウン全体の場所*/
 .scrolldown2 {
   /*描画位置※位置は適宜調整してください*/
   position: absolute;
   bottom: 10px;
   left: 50%;
 }

 /*Scrollテキストの描写*/
 .scrolldown2 span {
   /*描画位置*/
   position: absolute;
   left: 10px;
   bottom: 10px;
   /*テキストの形状*/
   color: #eee;
   font-size: 0.7rem;
   letter-spacing: 0.05em;
   /*縦書き設定*/
   -ms-writing-mode: tb-rl;
   -webkit-writing-mode: vertical-rl;
   writing-mode: vertical-rl;
 }

 /* 丸の描写 */
 .scrolldown2:before {
   content: "";
   /*描画位置*/
   position: absolute;
   bottom: 0;
   left: -4px;
   /*丸の形状*/
   width: 10px;
   height: 10px;
   border-radius: 50%;
   background: #eee;
   /*丸の動き1.6秒かけて透過し、永遠にループ*/
   animation:
     circlemove 1.6s ease-in-out infinite,
     cirlemovehide 1.6s ease-out infinite;
 }

 /*下からの距離が変化して丸の全体が上から下に動く*/
 @keyframes circlemove {
   0% {
     bottom: 45px;
   }

   100% {
     bottom: -5px;
   }
 }

 /*上から下にかけて丸が透過→不透明→透過する*/
 @keyframes cirlemovehide {
   0% {
     opacity: 0
   }

   50% {
     opacity: 1;
   }

   80% {
     opacity: 0.9;
   }

   100% {
     opacity: 0;
   }
 }

 /* 線の描写 */
 .scrolldown2:after {
   content: "";
   /*描画位置*/
   position: absolute;
   bottom: 0;
   left: 0;
   /*線の形状*/
   width: 2px;
   height: 50px;
   background: #eee;
 }

 /* fadeUpをするアイコンの動き */
 .fadeUp {
   animation-name: fadeUpAnime;
   animation-duration: 0.5s;
   animation-fill-mode: forwards;
   opacity: 0;
 }

 @keyframes fadeUpAnime {
   from {
     opacity: 0;
     transform: translateY(100px);
   }

   to {
     opacity: 1;
     transform: translateY(0);
   }
 }

 .fadeInUpTrigger,
 .fadeInRightTrigger,
 .fadeInLeftTrigger {
   opacity: 0;
 }

 .delay-time {
   animation-delay: .3s;
 }

 .delay-time_02 {
   animation-delay: .5s;
 }

 .delay-time_03 {
   animation-delay: .7s;
 }

 /*全共通*/

 .slide-in {
   overflow: hidden;
   display: inline-block;
 }

 .slide-in_inner {
   display: inline-block;

 }

 /*左右のアニメーション*/
 .leftAnime {
   opacity: 0;
   /*事前に透過0にして消しておく*/
 }

 .slideAnimeLeftRight {
   animation-name: slideTextX100;
   animation-duration: .8s;
   animation-fill-mode: forwards;
   opacity: 0;
 }

 @keyframes slideTextX100 {
   from {
     transform: translateX(-100%);
     /*要素を左の枠外に移動*/
     opacity: 0;
   }

   to {
     transform: translateX(0);
     /*要素を元の位置に移動*/
     opacity: 1;
   }
 }

 .slideAnimeRightLeft {
   animation-name: slideTextX-100;
   animation-duration: .8s;
   animation-fill-mode: forwards;
   opacity: 0;
 }


 @keyframes slideTextX-100 {
   from {
     transform: translateX(100%);
     /*要素を右の枠外に移動*/
     opacity: 0;
   }

   to {
     transform: translateX(0);
     /*要素を元の位置に移動*/
     opacity: 1;
   }
 }


 .c-button:after {
   content: "";
   position: absolute;
   top: 50%;
   bottom: 0;
   right: 2rem;
   font-size: 90%;
   display: flex;
   justify-content: center;
   align-items: center;
   transition: right 0.3s;
   width: 6px;
   height: 6px;
   border-top: solid 2px currentColor;
   border-right: solid 2px currentColor;
   transform: translateY(-50%) rotate(45deg);
 }

 .c-button:hover {
   background: #fff;
   color: #2a2a2a;
 }

 .c-button:hover:after {
   right: 1.4rem;
 }


 .c-button {
   margin: 5px 0;
   position: relative;
   padding: 10px 60px 10px 30px;
   color: #333;
   display: inline-block;
   text-align: center;
   border: 1px solid #2a2a2a;
   text-decoration: none;
   transition: all 0.3s;
   border-radius: 4px;
 }

 .c-flex-box {
   display: flex;
   align-items: center;
   justify-content: space-between;
 }

 .u-dib {
   display: inline-block;
 }

 .u-mt40 {
   margin-top: 40px;

   @media screen and (max-width:768px) {
     margin-top: 20px;
   }
 }

 .u-mb40 {
   margin-bottom: 40px;

   @media screen and (max-width:768px) {
     margin-bottom: 20px;
   }
 }

 .u-mb120 {
   margin-bottom: 120px;
 }

 .coming-soon {
   font-size: 10vw;
   text-align: center;
 }

 .company__table table {
   width: 100%;
   margin-bottom: 80px;
   font-family: "Noto Serif JP", serif;
 }

 .company__table table tr {
   border-bottom: 1px solid #dcdcdc;
 }

 .company__table table tr th {
   padding: 30px 20px;
   font-weight: normal;
   text-align: left;
   width: 300px;
 }

 .company__table table tr td {
   padding: 30px 20px;
 }

 .map {
   position: relative;
   width: 100%;
   padding-top: 50%;
   /* = height ÷ width × 100 */
 }

 .map iframe {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
 }


 @media screen and (max-width: 768px) {

   .company__table table tr th {
     display: block;
     width: 100%;
     text-align: left;
     padding-bottom: 0;
     padding: 15px 20px 0 20px;
   }

   .company__table table tr td {
     display: block;
     width: 100%;
     padding: 15px 0 15px 20px;
   }
 }

 .p-contact__text {
   margin-top: 40px;
   padding: 0 20px;
   text-align: center;
 }

 .p-contact-form {
   padding: 80px 0;
 }

 #formWrap {
   max-width: 700px;
   margin: 0 auto;
   line-height: 120%;
   font-size: 90%;
 }

 #formWrap span {
   display: inline-block;
 }

 #formWrap .c-section-title {
   text-align: center;
   line-height: 1.25;
   display: block;
 }

 #formWrap p {
   margin-top: 40px;
 }

 #formWrap>p {
   font-size: 18px;
   line-height: 1.5;
 }

 table.formTable {
   width: 100%;
   margin: 40px auto;
   border-collapse: separate;
   border-spacing: 0 20px;
 }

 table.formTable input {
   width: 100%;
 }

 input:-webkit-autofill {
   box-shadow: 0 0 0 1000px #ededed inset;
 }

 table.formTable span {
   color: rgb(228, 19, 19);
   display: block;
   padding: 2px 8px;
   margin-left: 4px;
 }

 table.formTable td {
   text-align: left;
 }

 table.formTable th {
   padding: 10px;
   font-weight: normal;
   text-align: left;
   vertical-align: top;
 }

 .smf-item__label__text mark {
   color: red;
 }

 @media screen and (max-width: 768px) {

   #formWrap {
     width: 95%;
     margin: 0 auto;
   }

   table.formTable th,
   table.formTable td {
     width: auto;
     display: block;
   }

   table.formTable th {
     margin-top: 5px;
     border-bottom: 0;
   }

   form input[type="text"],
   form textarea {
     width: 80%;
     display: block;
   }

   form input[type="submit"],
   form input[type="reset"],
   form input[type="button"] {
     display: block;
     width: 100%;
   }
 }

 table.formTable input,
 table.formTable textarea {
   width: 100%;
   border: 1px solid #acacac;
   padding: 10px;
 }

 @media screen and (max-width: 599px) {
   .p-contact__text {
     text-align: left;
   }
 }

 .c-button.-border {
   border: 2px solid #2a2a2a;
 }

 .c-button.-border:after {
   background: #2a2a2a;
 }

 .c-button.-border:hover {
   background: #2a2a2a;
   color: #fff;
 }

 .c-button.-mail {
   background: #fff;
   color: #2a2a2a;
 }

 .c-button.-mail:hover {
   background: #2a2a2a;
   color: #fff;
   border: 2px solid #2a2a2a;
 }

 .c-button.-contact {
   background: #2a2a2a;
   color: #fff;
   border: 2px solid #2a2a2a;
   padding: 10px 80px;
 }

 .c-button.-contact:hover {
   background: #fff;
   color: #2a2a2a;
 }

 .c-button.-tel span {
   font-size: 24px;
 }

 .c-button.-tel::after,
 .c-button.-mail::after {
   display: none;
 }

 .cam-ma::before {
   display: inline;
   content: 'ayame-iri';
 }

 .cam-ma::after {
   display: inline;
   content: 'sai.me';
 }

 /* pc sp 切り替え */
 @media (width <=767.98px) {
   .sp {
     display: block;
   }
      .sp-inline-emsp-before {
     display: block;
     text-indent: 1em;
   }
   .sp-inline-emsp-after {
     display: block;
     text-indent: -1em;
   }

   .pc {
     display: none;
   }
 }

 @media (width >=768px) {
   .sp {
     display: none;
   }
      .sp-inline-emsp {
     display: none;
   }

   .pc {
     display: block;
   }
 }