@charset "utf-8";

/*
Base style
*/
body {
  font-family: 'Noto Serif JP', "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-size: 16px;
  line-height: 1.5;
  color: #3E3A39;
  margin-top: 200px;
  background-image: url('../images/background-image.jpg');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}
a {
  text-decoration: none;
}

h1 {
font-family: 'Noto Serif JP', "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

a {
    text-decoration: none;
}
/*
grid
*/
.grid {
  display: flex;
  width: 1027px;
  margin: auto;
  padding: 0;
  justify-content: space-between;
}
.grid-item {
  list-style: none;
}

.grid-col-2 > .grid-item {
  width: calc(50% - 40px); /* 10pxは余白の間隔 */
}
.grid-col-3 > .grid-item {
  width: calc(33.3% - 40px);
}
.grid-col-4 > .grid-item {
  width: calc(25% - 30px); /* 10pxは余白の間隔 */
}

/*
grid SP
*/

@media screen and (max-width: 768px) {
  .grid {
    display: block;
    padding: 0 20px 0 20px;
    width: 100%;
  }
  .grid-col-2 > .grid-item,
  .grid-col-3 > .grid-item,
  .grid-col-4 > .grid-item {
    width: 100%;
  }
  
  
}

/*
button
*/
.news-buttons {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}
a.news-btn-border {
  font-size: 22px;
  font-weight: lighter;
  line-height: 1.5;
  display: block;
  margin-top: 0px;
  margin-bottom: 0px;
  padding: 22px 22px;
  width: 100%;
  height: 85px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background:#3E3A39;
  border-radius: 100px;
}
a.news-btn-border span {
  font-size: 16px;
}
a.news-btn-border:hover {
  color: #fff;
  background:#3E3A39;
  transition: 1.0s ;
  opacity: 0.7 ;
}



.footer-buttons {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}
a.footer-btn-border {
  font-size: 18px;
  font-weight: lighter;
  line-height: 1.5;
  display: block;
  margin-top: 0px;
  margin-bottom: 0px;
  padding: 18px 18px;
  width: 377px;
  height: 68px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background:#3E3A39;
  border: 0.5px solid  #fff;
  border-radius: 100px;
}
a.footer-btn-border:hover {
  color: #fff;
  background:#3E3A39;
  transition: 1.0s ;
  opacity: 0.7 ;
}

/*
button SP
*/
@media screen and (max-width: 768px) {
  a.footer-btn-border {
    width: 100%;
  }
  a.news-btn-border {
    font-size: 20px;
    padding: 25px 25px;
  }
  a.news-btn-border span {
    font-size: 14px;
  }


}



/* 
scroll button
*/

.scroll_down {
  position: absolute;
  width: 100%;
  height: 100vh;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}

.scroll_down:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 80%;
  background: linear-gradient(180deg,rgba(#000, 0) 0, rgba(#000, .8) 80%, rgba(#000, .8) 100%);
  }

.scroll_down a {
  display: inline-block;
  position: fixed;
  right: 5;
  bottom: 0;
  left: 0;
  z-index: 2;
  padding: 10px 10px 110px;
  color: #000;
  font-size: 14px;
  line-height: 1;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  writing-mode: vertical-lr;
  transition: .2s;
  overflow: hidden;
  margin: auto;
}

.scroll_down a:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 2px;
  height: 100px;
  background: #ddd;
}

.scroll_down a:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 2px;
  height: 100px;
  background: #000;
}

.scroll_down a:hover {
  opacity: .5;
}

#type01 a:after {
  animation: sdl01 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}

@keyframes sdl01 {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}


/* 
scroll button SP
*/
@media screen and (max-width: 768px) {
  .scroll_down {
    display: none;
  }
}


/* 
header
*/
.header {
  background-color: #fff;
   position: fixed;
   background-color: #fff;
   top: 0;
   left: 0;
   width: 100%;
   z-index: 10;
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding-right: 102px;
   padding-left: 68px;
}
header .logo {
  padding-left: 0px;
  padding-top: 0px;
  margin-right: 0px;
}


header .logo img {
  width: 260px;
}

.header-nav{
    width: 920px;
    margin-left: auto;
    margin-right: 0;
}
.header-nav h2{
  font-weight: normal;
  font-size: 24px;
  letter-spacing: 1.5px;
}
.header-navlist {
    margin: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: center;
}
/*.header-navitem {}*/
.header-navitem > a {
    display: block;
    width: 116px;
    padding: 10px;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: border-color .5s;
}
.header-navitem > a:hover {
    border-bottom: 1px solid #3E3A39;
}

.navtop {
  display: flex;
}
.navtop h3 {
  font-size: 18px;
  margin-left: 30px;
  margin-right: 5px;
  width: 800px;
}

.navtop-button {
  display: flex;
  gap: 0;
  align-items: center;
}

.navtop-button img {
  width: 220px;
  float: right;
  margin: 0;
  padding-left: 20px;
}
.navtop-button img:hover {
  transition: 1.0s ;
  opacity: 0.7 ;
}

a{
  color: #333333;
  text-decoration: none;
  display: block;
}

ul li{
  list-style: none;
  width:100px;
}


/* 
header-SP
*/
@media screen and (max-width: 768px) {
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100px;
  z-index: 10;
  display: flex;
  padding-bottom: 0px;
  justify-content: space-between;
  align-items: center;
 }


.navtop h3 {
  display: none;
}


.navtop-button img {
  display: none;
  width: 100%;
  float: 0;
  padding-left: 10px;
}

.logo {
  width: 100%;
  margin-left: -40px;
  padding-left: 0px;
  padding-top: 0px;
  padding-bottom: 0px;
}


/* メニューリストの表示/非表示を切り替えるためのスタイル */
.header-navitem > a {
  width: 100%;
}

.header-navlist {
  position: fixed;
  top: 0;
  right: 0;
  background-color: #333;
  opacity: 0.98;
  width: 100%;
  height: 100%;
  padding-top: 50px;
  text-align: center;
  transform: translateX(100%); /* 初期状態では画面右側に隠れる */
  transition: transform 0.3s ease-out; /* アニメーションの設定 */
}

.header-navlist.open {
  transform: translateX(0%); /* クリックしたら画面内に移動して表示 */
}

.header-navlist.open li.header-navitem a {
  color: #fff;
  font-size: 18px;
  font-weight: lighter;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  padding-top: 25px;
  padding-bottom: 25px;
}


header nav ul li{
  width: 100%;
}

header nav ul li a{
  display: block;
  color: #ffffff;
  padding-left: 20px;
}



  /* ハンバーガーメニューのスタイルを追加 */
  .btn-toggle {
    position: fixed;
    top: 35px;
    right: 20px;
    width: 30px;
    height: 24px;
    z-index: 3;
    cursor: pointer;
    transition: all 400ms;
  }
  
  .btn-toggle span {
    position: absolute;
    width: 30px;
    height: 4px;
    background: #666;
    border-radius: 10px;
    transition: all 400ms;
  }

  .btn-toggle span:nth-child(1) {
    top: 0;
  }

  .btn-toggle span:nth-child(2) {
    top: 10px;
  }

  .btn-toggle span:nth-child(3) {
    top: 20px;
  }


  .open .btn-toggle span:nth-child(1) {
    transform: translateY(10px) rotate(45deg);
  }
  
  .open .btn-toggle span:nth-child(2) {
    opacity: 0;
  }
  
  .open .btn-toggle span:nth-child(3) {
    transform: translateY(-10px) rotate(-45deg);
  }


  
  .btn-toggle.active span:nth-child(1) {
    transform: translateY(10px) rotate(45deg);
  }

  
  .btn-toggle.active span:nth-child(2) {
    opacity: 0;
  }
  
  .btn-toggle.active span:nth-child(3) {
    transform: translateY(-10px) rotate(-45deg);
  }


  .header-navlist.open {
    display: block;
  }

  /* メニューリスト内の各アイテムのスタイル修正 */
  .header-navitem {
    margin-bottom: 0px;
    text-align: center;
    justify-content: center;
  }
}


/*
hero
*/
.hero {
  position: relative;
  width: 1200px;
  display: flex;
  flex-direction: column;
  margin-top: 315px;
  margin-bottom: 391px;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}
.hero h1 {
  font-size: 50px;
  font-weight: lighter;
  margin: 0px;
  margin-top: 10px;

}
.hero h2 {
  font-size: 43px;
  font-weight: lighter;
  margin: 0px;
  margin-top: 10px;
}

.hero p {
  font-size: 16px;
  line-height: 34px;
}


/*
hero-TAB
*/
@media screen and (max-width: 1024px) {
  .hero p {
    display: block;
    width: 600px;
  }
}


/*
hero-SP
*/
@media screen and (max-width: 768px) {
  .hero {
    width: 100%;
    margin-top: 0px;
    margin-bottom: 100px;
    padding: 0 20px 0 20px;
  }
  .hero h1 {
    margin-top: 0px;
    font-size: 35px;
  }
  .hero h2 {
    display: block;
    font-size: 30px;
  }
  .hero p {
    display: block;
    width: 300px;
  }
}

/*
mainvisual
*/
.mainvisual {
  position: relative;
  background-image: url(../images/mainvisual.png);
  background-size: cover;
  background-position: center;
  width: 100%;
  height: 400px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-align: left;
  margin-top: 100px;
}
.mainvisual-item {
  display: flex;
  justify-content: space-between;
  margin-top: 190px;
  width: 1200px;
  height: 800px;
}

.mainvisual h1 {
  font-size: 22px;
  font-weight: lighter;
  letter-spacing: 3px;
  margin-top: 0px;
  margin-bottom: 0px;
}
.mainvisual h2 {
  font-size: 50px;
  margin-bottom: 0px;
}

.mainvisual p {
  font-size: 18px;
  margin-bottom: 30px;
}

.mainvisual h1,
.mainvisual p {
  color: #fff;
}

.mainvisual img {
  width: 28%;
  margin-top: 60px;

}

/*
mainvisual-SP
*/
@media screen and (max-width: 768px) {
  .mainvisual {
    position: relative;
    background-size: cover;
    background-position: center;
    width: 100%;
    height: 100px;
    margin-top: -100px;
  }
  .mainvisual-item {
    display: flex;
    justify-content: space-between;
    margin-top: 0px;
    width: 100%;
    height: auto;
  }
  .mainvisual-title {
    padding-top: 58px;
  }
  .mainvisual h2 {
    padding-left: 20px;
    width: 100%;
    display: block;
    font-size: 32px;
    margin-top: -10px;
  }
  .mainvisual h1 {
    padding-left: 20px;
    width: 100%;
    display: block;
    font-size: 16px;
    margin-top: -5px;
  }
}


/*
staff-list
*/
.staff-list {
  justify-content: center;
  text-align: center;
}
.staff-list-img {
  margin:  0 0 20px;
}
.staff-list-img img {
  width: 50%;
}
.staff-name {
  display: flex;
  justify-content: space-between;
}
.staff-name h1 {
  font-size: 39px;
  font-weight: lighter;
  letter-spacing: 3px;
  margin-top: 0px;
  margin-bottom: 5px;
}
.staff-name h2 {
  text-align: right;
  margin-bottom: 0px;
  font-weight: lighter;
  font-family: 'Noto Serif JP', "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

.staff-list-description {
  font-size: 16px;
  line-height: 2;
  padding-top: 10px;
  margin: 0;
  text-align: justify;
}
.staff-list hr {
  margin-right: 0;
  border-color: #01538B;
}
/*
staff-list SP
*/





/*
flow-item
*/
.flow {
  margin-top: 120px;
}
.flow-item{
  margin: auto;
  display: flex;
  justify-content: left;
  width: 1200px;
}
.flow-item h1 {
  font-weight: lighter;
  letter-spacing: 3px;
  margin-top: 0px;
  margin-bottom: 0px;
}
.flow-item-icon {
  padding-top: 4px;
  width: 15%;
  height: 15%;
  margin-right: 25px;
}
.flow-item-list-line {
  padding-top: 30px;
  width: 15%;
  height: 15%;
  margin-right: 25px;
}

.flow-item-caption p {
  font-size: 16px;
  line-height: 2;
  width: 100%;
  margin-top: 15px;
  margin-bottom: 100px;
  text-align: justify;
}
.flow-item-headline{
  margin: 0 0 20px;
  font-size: 30px;
}
/*
flow-item-SP
*/
@media screen and (max-width: 768px) {
  .flow {
    margin-top: 80px;
    width: 100%;
  }
  .flow-item{
  display: block;
  width: 100%;
  padding: 0 20px 20px;
  margin-bottom: 100px;
  }
  .flow-item h1 {
    font-size: 28px;
  }
  .flow-item-caption p {
  width: 100%;
  margin-bottom: 20px;
  }
  .flow-item-icon {
    width: 40%;
    height: 40%;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 10px;
  }
  .flow-item-list-line {
    padding-top: 0px;
    width: 35%;
    height: 35%;
    margin-right: 0px;
    margin-left: 10px;
  }
  .flow-item-caption{
  padding-left: 0px;
  }
  .flow-item-image {
   width: 100%;
  }
}


/*
office-guide
*/
.office-page {
  max-width: 1200px;
  margin-top: 100px;
  margin-left: auto;
  margin-right: auto;
  justify-content: center;
}

.office-page-caption {
  width: 100%;
}

.office-page-photo {
  width: 50%;
  text-align: center;
}

.office-page-photo h2 {
  font-size: 20px;
  margin-top: 40px;
  text-align: right;
}

.office-page-store-photo {
  width: 100%;
  margin-top: -60px;
  margin-bottom: 0;
}

.office-page-map-photo {
  width: 100%;
}



.office-access-image {
  width: 1200px;
  display: block;
  justify-content: center;
  margin-top: 150px;
  margin-left: auto;
  margin-right: auto;
}

/* 
office-guide-SP
*/
@media screen and (max-width: 768px) {
  .office-page {
    width: 100%;
    margin: auto auto;
    display: block;
    justify-content: space-around;
    margin-top: 70px;
    margin-bottom: -25px;
  }
  .office-page-photo  iframe{
    width: 100%;
  }
  .office-page-photo h2 {
    margin-top: 40px;
    margin-left: 0px;
  }
  .office-page-logo {
    width: 75%;
    margin-top: 100px;
    margin-left: 50px;
  }
  .office-page-store-photo {
    margin-bottom: 50px;
    margin-left: 0px;
    width: 100%;
  }
  .office-page-photo {
    width: 100%;
  }
  .office-page-map-photo {
    width: 100%;
  }
  .Table {
    width: 100%;
    margin-bottom: 100px;
    }
    .office-page-caption {
      width: 100%;
      padding: 0 20px 0 20px;
    }
    .Table-Body-Row-Cell {
      font-size: 16px;
      line-height: 30px;
      padding-left: 20px;
      padding-right: 0;
    }
    .Table-Body-Row-Cell:first-child {
      padding-right: 20px;
      width: 120px;
    }
    .office-access-image {
      width: 100%;
      padding-left: 20px;
      padding-right: 20px;
      margin-top: 0px;
    }
  }



/*
section
*/
.section {
  width: 1200px;
  background-color: #FFFFFF;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 150px;
  padding: 32px 0px 60px 0px;
 }
 .section.section-secoundaly {
 }
 .section-headline{
   text-align: center;
   font-size: 43px;
   font-weight: lighter;
   padding: 0;
   margin: 0;
 }

 .section-subheadline {
   text-align: center;
   font-size: 16px;
   font-weight: lighter;
   letter-spacing: 2px;
   margin: 0;
   padding: 0;
 }
 .section-number {
  font-weight: lighter;
  font-size: 128px;
  color: #DCDDDD;
  text-align: right;
  margin-top: -145px;
  margin-bottom: 0px;
  margin-right: 45px;
 }
 .section-button {
   text-align: right;
   font-weight: bold;
 }
 .section-button .button {
   display: inline-block;
   color: #fff;
   background-color: #E9B4B2;
   text-align: center;
   padding: 15px 60px;
   text-decoration: none;
 }
 a.btn-border {
   font-size: 25px;
   font-weight: 500;
   line-height: 1.5;
   display: block;
   margin-left: auto;
   margin-right: auto;
   margin-top: 100px;
   margin-bottom: 155px;
   padding: 20px 10px;
   max-width: 1200px;
   height: 87px;
   -webkit-transition: all 0.3s;
   transition: all 0.3s;
   text-align: center;
   text-decoration: none;
   letter-spacing: 0.1em;
   color: #212529;
   border: 1.7px solid #1c1c1c;
   border-radius: 0;
 }
 
 a.btn-border:hover {
   color: #fff;
   background: #1c1c1c;
 }
 
 /*
 section-SP
 */
 
 @media screen and (max-width: 768px) {
   .section {
    width: 100%;
    margin-bottom: 250px;
     padding: 70px 0px 70px 0px;
    }
    .section-button {
   text-align: center;
   margin-top: 40px;
   }
   .section-headline{
    font-size: 30px;
   }
   a.btn-border {
     font-size: 20px;
     margin-top: 70px;
     margin-bottom: 70px;
     padding: 10px 10px;
     width: 100%;
     height: 60px;
   }
   .section-number {
    font-weight: lighter;
    font-size: 80px;
    color: #DCDDDD;
    text-align: right;
    margin-top: -155px;
    margin-bottom: 0px;
    margin-right: 20px;
   }
 }

/*
top-copy
*/
.top-copy{
  margin: auto;
  display: flex;
  justify-content: center;
  width: 1200px;
}
.top-copy-image {
  z-index: 3;
  margin-top: -170px;
  width: 35%;
}
.top-copy-caption{
  padding-right: 90px;
}
.top-copy-caption p {
  font-size: 16px;
  line-height: 2.3;
  width: 630px;
  margin: 0px;
  text-align: justify;
}
.top-copy-headline{
  margin: 0 0 20px;
  font-size: 30px;
}
/*
top-copy-SP
*/
@media screen and (max-width: 768px) {
  .top-copy{
  flex-direction: column-reverse;
  display: flex;
  width: 100%;
  padding: 0 20px 20px;
  }
  .top-copy-caption p {
  width: 100%;
  margin-top: 0px;
  }
  .top-copy-caption{
  padding-right: 0px;
  }
  .top-copy-image {
   text-align: center;
   justify-content: center;
   margin-left: auto;
   margin-right: auto;
   margin-bottom: 15px;
   width: 60%;
   margin-top: 0;
  }
}

/*
news
*/
.news {
  padding: 50px 0;
}

.inner {
  width: 70%;
  margin: 0 auto;
  padding: 25px 0 25px;
}

.news ul li{
  list-style: none;
  width: 100%;
}


.sub_ttl {
  font-size: 30px;
  text-align: center;
  margin-bottom: 40px;
}

/* ここからがニュース記事のCSS */

.news_list {
  margin: 0;
}

.news_list_item {
  padding: 25px 0;
  border-bottom: 1px solid #E6E6E6;
}

.news_list_item:first-child {
  border-top: 1px solid #E6E6E6;
}
.news_list_item a {
 position: relative;
 display: flex;
 padding-right: 30px;
}

.news_list_date {
  font-size: 15px;
  display: flex;
  margin-right: 15px;
  align-items: center;
}

.news_item {
  background: #E6E6E6;
  border-radius: 14px;
  width: 6em;
  /* 親要素の文字サイズを基準 */
  text-align: center;
  margin-left: 20px;
}

.arrow {
  width: 25px;
  height: 1px;
  background: #707070;
  position: absolute;
  top: 50%;
  right: 0;
}

.arrow::after {
  content: "";
  display: block;
  width: 6px;
  height: 1px;
  background: #707070;
  transform: rotate(45deg);
  position: absolute;
  right: 0px;
  bottom: 2px;
}




@media screen and (max-width: 768px) {
   .news {
    padding: 0px;
    margin-bottom: -100px;
   }
    .news_list_item a  {
      display: block;
      font-size: 14px;
    }
    .inner {
      width: 75%;
      padding: 30px 0 30px 0;
    }
    .news_list {
      padding-left: 0;
    }
    .arrow {
      display: none;
    }

}


/*
business
*/
.business {
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}
.business-img {
 width: 50%;
 margin-top: 6px;
}
.business-headline {
  font-weight: lighter;
  font-size: 22px;
  letter-spacing: 3px;
  line-height: 1.8;
  margin: 0 0 29px;
  padding-bottom: 15px;
  border-bottom: 0.5px solid #3E3A39;
}
.business-description {
  margin: 0;
  text-align: justify;
  display: flex;
  justify-content: space-between;
}
.business-description p {
  font-size: 16px;
  line-height: 2;
  width: 41%;
  padding: 0;
  margin: 0;
}


.business-description2 {
  margin-left: 0px;
}


.business-description2 p {
  font-size: 16px;
  line-height: 2;
  padding-left: 0px;
  margin-top: 80px;
}


/*
business-SP
*/
@media screen and (max-width: 768px) {

 .business {
  margin-top: 110px;
 }
 .business-headline {
  margin-top: 110px;
}
  .business-description {
    margin: 0;
    text-align: justify;
    display: block;
    justify-content: space-between;
  }
  .business-description p {
    width: 100%;
  }
  .business-img {
    width: 100%;
    margin-top: 30px;
   }
   .business-description2 {
    width: 100%;
    display: block;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    text-align: justify;
   }
}



/* 
company-page
*/

.company-page {
  margin-top: 50px;
  margin-bottom: 50px;
}
.company-page-store-photo {
 width: 100%;
}

.store-map {
  margin-top: 43px;
}

.company-logo {
  margin-bottom: 51px;
}

.company-logo img {
  width: 40%;
  display: block;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.Table {
  width: 100%;
  height: 540px;
  border-top: solid 0.5px #3E3A39;
  border-bottom: solid 0.5px #3E3A39;
  border-collapse: collapse;
  font-size: 16px;
}

.Table-Body-Row {
  border-top: solid 0.5px #3E3A39;
  border-bottom: solid 0.5px #3E3A39;
}

.Table-Body-Row-Cell {
  line-height: 32px;
  padding: 0.3em 0.1em;
}

.Table-Body-Row-Cell:first-child {
  padding-right: 100px;

}


.table-overview {
  width: 100%;
  line-height: 1.8;
  text-align: left;
}

.table-overview tr th {
  width: 16rem;
  padding: 0.8rem;
  vertical-align: top;
}

.table-overview tr td {
  width: calc(100% - 16rem);
  padding: 0.8rem 1.6rem;
  vertical-align: top;
}

/* 
company-page-SP
*/
@media screen and (max-width: 768px) {
  .headline {
    width: 92%;
    margin-top: 70px;
    margin-bottom: 20px;
  }
  .headline img {
    width: 100%;
  }
  .company-page {
    width: 100%;
    margin-top: 100px;
    display: block;
    justify-content: space-around;
  }


  .company-page-store-photo {
    margin-bottom: 0px;
    margin-left: 0px;
    width: 100%;
  }
  .company-page-photo {
    width: 100%;
  }
  .company-page-map-photo {
    width: 100%;
  }
  .Table {
    width: 100%;
    margin-bottom: 80px;
    }
    .Table-Body-Row-Cell:first-child {
      padding-right: 20px;
      width: 150px;
    }
    .company-page-caption {
      width: 100%;
      margin-top: 80px;
    }
    .company-logo img {
      width: 60%;
    }
    
  }

/*
contact
*/

.contact {
  margin-bottom: 40px;
}

.contact-comment-top {
  padding-top: 0px;
  padding-bottom: 0px;
}


.contact-comment-top h1 {
  font-size: 30px;
  font-weight: lighter;
  line-height: 2;
  letter-spacing: 2px;
}

.contact-comment-top p {
  font-size: 22px;
  font-weight: lighter;
  line-height: 2;
  letter-spacing: 2px;
  border-left: 0.5px solid #3E3A39;
  padding-left: 37px;
  margin-bottom: 85px;
  
}

.contact-headline {
  font-weight: lighter;
  font-size: 22px;
  letter-spacing: 3px;
  line-height: 1.8;
  padding: 0px;
}



.contact-tel {
  font-size: 40px;
  letter-spacing: 2.5px;
}

.contact-description {
  margin: 0;
  text-align: justify;
  display: flex;
  justify-content: space-between;
}
.contact-description p {
  font-size: 16px;
  line-height: 2;
  width: 41%;
  padding: 0;
  margin: 0;
}


/*
contact SP
*/
@media screen and (max-width: 768px) {
  .contact {
    margin-top: 100px;
    text-align: center;
  }
  .contact-comment-top-wrapper {
    margin-left: 0px;
    margin-right: auto;
  }
  .contact-comment-top {
    margin-left: 0px;
  }
  .contact-comment-top h1 {
    margin-left: -85px;
  }
  .contact-comment-top p {
    font-size: 20px;
    text-align: justify;
    margin-right: 30px;
  }
  .contact h1 {
    margin-top: 80px;
  }
  .contact-tel {
    font-size: 35px;
    letter-spacing: 2.5px;
  }


}



/*
access
*/
.access-map {
  text-align: center;
  justify-content: center;
  display: block;
  margin-top: 100px;
  margin-left: auto;
  margin-right: auto;
}
.access-map  > iframe{
  width: 1200px;
}
/*
access-SP
*/
@media screen and (max-width: 768px) {
  .access-map  > iframe{
    width: 100%;
  }
}



/*
about-us
*/
.image-menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-top: 70px;
}

.menu-item {
  flex-basis: 35%;
  text-align: left;
}

.menu-item h3 {
  font-weight: normal;
  margin-left: 10px;
}

.menu-item img {
  width: 100%;
  max-width: 100%; /* 画像の最大幅を指定 */
}

.menu-item h3 {
  margin-top: 10px;
}
/*
about-us-SP
*/
@media screen and (max-width: 768px) {
.image-menu {
  display: block;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-top: 70px;
}
}



/* 
privacy
*/
.privacy {
  padding-top: 100px;
  max-width: 1200px;
  margin-top: 100px;
  margin-bottom: 100px;
  margin-left: auto;
  margin-right: auto;
}
.privacy h1 {
  font-size: 25px;
  text-align: center;
  margin-bottom: 0px;
}
.privacy h2 {
  font-size: 20px;
  color: #fff;
  background-color: #333;
  padding: 20px;
}
.privacy p {
  line-height: 2.5;
}
/* 
privacy-SP
*/
@media screen and (max-width: 768px) {
.privacy {
  width: 100%;
  margin-top: 40px;
  margin-bottom: 70px;
  margin-left: 0px;
  margin-right: 0px;
}
.privacy h1 {
  font-size: 25px;
  text-align: center;
  margin-bottom: 0px;
}
.privacy p {
  margin-left: 10px;
  margin-right: 10px;
}
}





/* 
contact
*/
#main_content{
	text-align: left;
  background-color: #fff;
}

#main_content h1 {
	text-align: center;
}

.assess-image {
  width: 50%;
  display: block;
  margin-left: auto;
  margin-right: auto;
  padding-top: 0px;
  margin-bottom: 100px;
}

.container-form{
	width: 100%;
	width: 1200px;
	margin-left: auto;
	margin-right: auto;
  display: block;
}
.container-form h1 {
  font-size: 25px;
  font-weight: lighter;
  text-align: center;
  margin-top: 40px;
  margin-bottom: 70px;
  padding-top: 100px;
} 
@media screen and (max-width:768px){
	.container-form{
    width: 100%;
		padding-left: 1rem;
		padding-right: 1rem;
		box-sizing: border-box;
	}
  .container-form h1 {
    font-size: 25px;
    text-align: center;
    margin-bottom: 40px;
  }
  .assess-image {
    width: 90%;
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding-top: 50px;
    margin-bottom: 50px;
  }
}
  /*- heading -*/
  /*ページ大見出し*/
.page_heading{
	font-size: 2em;
	line-height: 1.4;
	font-weight: bold;
	color: #fff;
	background: #1e2088;
	background: linear-gradient(to bottom, rgba(30,32,136,1) 0%,rgba(25,28,183,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1e2088', endColorstr='#191cb7',GradientType=0 );
	padding: 18px 20px 16px;
	margin: 0 0 30px;
	box-shadow: 0 4px 12px rgb(0 0 0 / 20%);
}

.page_heading > span{
	font-size: 50%;
	color: #b1e2ef;
	display: block;
	text-align: right;
	letter-spacing: 0.16em;
	margin: -2.2em 0 0.7em;
}

@media screen and (max-width:767px){
	.page_heading{
		font-size: 1.4em;
	}
}
.margin_b2{margin-bottom:2rem;}
.lh18{line-height: 1.8;}
  /*- form -*/
.form{
	line-height: 2;
	font-size: 16px;
}

.form_table{
	width: 100%;
	box-sizing: border-box;
}

.form_table th{
	width: 25%;
	text-align: left;
	vertical-align: top;
	font-weight: lighter;
	padding: 12px;
	border-bottom: 1px solid #ddd;
	overflow: hidden;
	box-sizing: border-box;
}

.form_table td{
	width: 70%;
	padding: 12px;
	border-bottom: 1px solid #ddd;
	box-sizing: border-box;
}

  /*入力パーツ*/
.form .textbox{
	display: inline-block;
	font-size: 100%;
	font-family:Meiryo,'Hiragino Kaku Gothic ProN','Hiragino Sans',sans-serif;
	color: #333;
	line-height: inherit;
	background: #fff;
	padding: 3px;
	margin: 1px;
	border: 1px solid #aaa;
	max-width: 100%;
	box-sizing: border-box;
}

.form textarea.textbox{
	display: block;
}

.form select.textbox{
	cursor: pointer;
}

.form label{
	cursor: pointer;
	display: inline-block;
	margin-right: 2em;
	min-width: 25%;
}

.form input[type="radio"], .form input[type="checkbox"] {
	margin: 0 5px 0 0;
}
.form_item_label{
  display: block;
  margin-top: 0rem;
}

.form_item_label::before{
  content: "▼";
}

  /*入力必須*/
.form .must{
	display: block;
	background: #47BAB3;
	padding: 5px;
  margin-top: 7px;
	font-size: 10px;
	line-height: 10px;
	color: #fff;
	float: right;
	border-radius: 5px;
}

  /*個人情報注意書き*/
.readme1{
	margin-right: 5px;
	margin-left: 5px;
	padding-top: 15px;
	padding-bottom: 15px;
}

.readme1_heading{
	font-size: 14px;
}

.readme1 textarea.textbox{
	width: 100%;
	height: 250px;
	color: #333;
	font-size: 13px;
}

  /*個人情報同意チェック*/
.readme2{
	text-align: center;
	padding: 10px 10px 30px 10px;
	background-color: #efefef;
	border: 1px solid #ccc;
}

  /*送信エリア*/
#submit_box{
	text-align: center;
	padding: 1rem 0 6rem;
}

#submit_box button{
	font-size: 20px;
	line-height: 1.8;
	padding: 10px 30px;
	margin: 0 1rem;
	cursor: pointer;
}

@media screen and (max-width:767px){
  .form .must{
    margin-top: 4px;
  }
	.form_table th{
		display: block;
		width: 100%;
		border-bottom: none;
		background: #efefef;
		padding: 0.4em 0.5em 0.2em;
	}

	.form_table td{
		display: block;
		width: 100%;
		margin-bottom: 2rem;
	}

	  /*入力パーツ*/
	.form .textbox{
		width: 100%!important;
	}
	
	.form_item_label{
		display: block;
		margin-top: 0.5rem;
	}
	
	.form_item_label::before{
		content: "▼";
	}
	
	  /*送信エリア*/
	#submit_box button{
		display: block;
		width: 70%;
		margin: 0 auto 1.5rem;
	}
}






/* 
footer
*/
footer {
  color: #fff;
  background-color: rgba(0, 0, 0, 0.7);
  margin: 0;
  padding-top: 50px;
  font-weight: lighter;
 }
 .footer-logo {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  margin-top: 40px;
  margin-bottom: 80px;
 }
 .footer-logo img {
  width: 198px;
 }
 .footer_content {
   margin-left: auto;
   margin-right: auto;
   width: 1200px;
 }
 .footer_1 {
   display: flex;
   margin-top: 10px;
   justify-content: space-around;
 }
 

 .footer_1 a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  border-left: 0.5px solid #fff;
  height: 48px;
  pointer-events: none; /* リンク全体を無効にする */
}

.footer_1 a:last-child {
  border-right: 0.5px solid #fff;
}

.footer_1 a img, .footer_1 a h3, .footer_1 a p {
  pointer-events: auto; /* テキストや画像部分だけ有効にする */
  cursor: pointer; /* ポインター表示 */
}


 .footer_1 h3 {
  font-size: 16px;
  font-weight: lighter;
  color: #fff;
  text-align: center;
}
 .footer_1 p {
   font-size: 16px;
   line-height: 1.5;
   color: #fff;
 }
 .footer_1 h3:hover {
  opacity: 0.5;
  transition: 0.5s;
}
 .footer_1 p:hover {
   opacity: 0.5;
   transition: 0.5s;
 }

 .footer_content2 {
  margin-left: auto;
  margin-right: auto;
  width: 765px;
}


 .footer_2 {
  display: flex;
  margin-top: 65px;
  margin-bottom: 90px;
  justify-content: space-around;
  width: 100%;
 }


.footer_2  img, .footer_1 a h3, .footer_1 a p {
 pointer-events: auto; /* テキストや画像部分だけ有効にする */
 cursor: pointer; /* ポインター表示 */
}


.footer_2 h1 {
 font-size: 29px;
 font-weight: lighter;
 color: #fff;
 text-align: center;
 letter-spacing: 1.5px;
}
.footer_2 h1:hover {
 opacity: 0.5;
 transition: 0.5s;
}
.footer_2 p:hover {
  opacity: 0.5;
  transition: 0.5s;
}

 .copyright {
   text-align: center;
   margin-top: 70px;
   padding-bottom: 20px;
   letter-spacing: 0.1em;
   font-weight: lighter;
 }




 
 /* 
 footer-SP
 */
 @media screen and (max-width: 768px) {
  .footer_content {
    width: 100%;
    line-height: 50px;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
  .footer_content2 {
    width: 100%;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
  
 .footer_1 {
  display: block;
  margin-top: 10px;
  justify-content: space-around;
}
.footer_2 {
  display: block;
}
.footer_1 p {
  line-height: 50px;
}
.footer_1 a {
  line-height: 22px;
  border-left: none;
  padding-top: 50px;
  padding-bottom: 50px;
}
.footer_1 a:last-child {
  border-right: none;
}

.footer_content2 {
  padding: 0 20px 0 20px;
}

 .copyright {
   width: 300px;
   margin-left: auto;
   margin-right: auto;
   text-align: center;
   margin-top: 70px;
   padding-bottom: 20px;
 }
 }