/*    
Theme Name: KyoudaiBikou2026
Theme URI: https://kyoudai-bikou.jp/
Description: 兄弟美工
Author: 兄弟美工
Author URI: https://kyoudai-bikou.jp/
*/

@charset "utf-8";

/*　リセットCSS（共通）
--------------------------------------------- */
* { 
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  color: #444444;
}
a {
  text-decoration : none;
  color: #444444;
  border: none;
  outline: none;
  transition: .6s;
}
a:hover {
  opacity: 0.6;
  transition: 0.6s;
}
a[href^="tel:"] { cursor: default; }
ul, ol {
  list-style : none;
  margin: 0;
  padding: 0;
}
hr {
  display:block;
  width: 100%;
  height: 1px;
  border: 0;
  border-top: 1px dashed #cccccc; 
}

/*　基本設定（共通）
--------------------------------------------- */
html {
  font-family: 'Noto Sans JP', sans-serif;
  font-size : 16px;
  line-height: 1.75em;
  color: #444444;
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: subpixel-antialiased;
}
body {
  width: 100%;
  margin: 0;
  padding: 0;
  text-align: left;
  font-size-adjust: none;
  -webkit-font-size-adjust: none;
  position: relative;
  animation: fadeIn 1s ease 0s 1 normal;
  -webkit-animation: fadeIn 1s ease 0s 1 normal;
  background-color: #ffffff;
}
body:not(.blog) {
  text-align: center;
}
@media print, screen and (min-width : 767px) {
  body {
  min-width: 1000px;
  }
}
@media screen and (max-width : 767px) {
  html {
    font-size: 4vw;
  }
}
main { display: block; }
section {
  margin: 0;
}


/*　基本設定 - フロート（共通）
--------------------------------------------- */

/* float */
.fl_l { float: left; }
.fl_r { float: right; }
.cle { clear: both; }

/* clearfix */
.clearfix:after {
  display: block;
  visibility: hidden;
  clear: both;
  height: 0;
  content: " ";
  font-size: 0;
}
* html .clearfix             { zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */

/* block */
.bloc { display: block; }

@media print, screen and (min-width : 767px) {
  .brsmp { display: none !important; }
  .pcoff { display: none !important; }
}

@media screen and (max-width : 767px) {
  .smpoff { display: none; }
}


/*　基本設定 - 画面分割
--------------------------------------------- */
@media print, screen and (min-width : 767px) {
  body:not(.blog) main,
  body:not(.blog) footer {
    margin-left: 17%;
  }
  body:not(.blog):before {
    content: "";
    width: 100%;
    height: 6px;
    background: #3b9476;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
  }
  body:not(.blog) {
    padding-top: 6px;
  }
}

/*　fadein
--------------------------------------------- */
.fadein {
  opacity : 0;
  transform: translateY(20px);
  transition: all 1s;
}

/*　header
--------------------------------------------- */
body:not(.blog) header .header_blog {
  display: none;
}
@media print, screen and (min-width : 767px) {
  body:not(.blog) header {
    width: 17%;
    min-width: 240px;
    height: 100vh;
    min-height: 800px;
    background: #ffffff;
    position: fixed;
    padding: 2.5vh 1.5vw 1vh 1.5vw;
    font-size: 2vh;
    line-height: 1.5em;
    box-shadow: 0 0 0.5rem #999999;
    z-index: 100;
  }
  .header_inner {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  body:not(.blog) header h1 {
    width: 90%;
    margin: 0 auto 2vh auto;
    min-height: 0%;
  }
  body:not(.blog) header h1 img {
    width: 100%;
  }

  /* nav1 */
  body:not(.blog) header .nav1 ul {
    border-top: 2px dotted #dddddd;
  }
  body:not(.blog) header .nav1 ul li {
    border-bottom: 2px dotted #dddddd;
    box-sizing: border-box;
    text-align: left;
    /*font-size: 2.2vh;*/
    font-size: 1rem;
  }
  body:not(.blog) header .nav1 ul li a {
    display: flex;
    align-items: center;
    padding: 0.65em;
  }
  body:not(.blog) header .nav1 ul li:first-child a:before {
    content: '';
    background-image: url(img/nav-kote.svg);
  }
  body:not(.blog) header .nav1 ul li:nth-of-type(2) a:before {
    content: '';
    background-image: url(img/nav-baketsu.svg);
  }
  body:not(.blog) header .nav1 ul li:nth-of-type(3) a:before {
    content: '';
    background-image: url(img/nav-home.svg);
  }
  body:not(.blog) header .nav1 ul li:nth-of-type(4) a:before {
    content: '';
    background-image: url(img/nav-qa.svg);
  }
  body:not(.blog) header .nav1 ul li:nth-of-type(5) a:before {
    content: '';
    background-image: url(img/nav-company.svg);
  }
  body:not(.blog) header .nav1 ul li:nth-of-type(6) a:before {
    content: '';
    background-image: url(img/nav-map.svg);
  }
  body:not(.blog) header .nav1 ul li:nth-of-type(7) a:before {
    content: '';
    background-image: url(img/nav-sr.svg);
  }
  body:not(.blog) header .nav1 ul li:nth-of-type(8) a:before {
    content: '';
    background-image: url(img/nav-contact.svg);
  }
  body:not(.blog) header .nav1 ul li a:before {
    content: '';
    width: 1.5rem;
    height: 1.5rem;
    display: inline-block;
    background-repeat: no-repeat;
    background-size: contain;
    margin-right: 0.25rem;
  }
  
  /* nav2 */
  body:not(.blog) header .nav2 {
    margin-top: auto;
    margin-bottom: 0.5rem;
  }
  body:not(.blog) header .nav2 ul li {
    color: #ffffff;
    background: #3b9476;
    margin-bottom: 0.5rem;
    border-radius: 0.25rem;
  }
  body:not(.blog) header .nav2 ul li a {
    color: #ffffff;
    padding: 0.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
  }
  body:not(.blog) header .nav2 ul li a:before {
    content: '';
    width: 1.2rem;
    height: 1.2rem;
    display: inline-block;
    background-repeat: no-repeat;
    background-size: contain;
    margin-right: 0.5rem;
  }
  body:not(.blog) header .nav2 ul li:nth-of-type(1) a:before {
    content: none;
  }
  body:not(.blog) header .nav2 ul li:nth-of-type(2) a:before {
    content: '';
    background-image: url(img/icon-insta.svg);
  }
  body:not(.blog) header .nav2 ul li:nth-of-type(3) a:before {
    content: '';
    background-image: url(img/icon-fb.svg);
  }
  body:not(.blog) header .nav2 ul li:nth-of-type(4) a:before {
    content: '';
    background-image: url(img/icon-youtube.svg);
  }
  body:not(.blog) header .nav2 ul li:nth-of-type(5) a:before {
    content: '';
    background-image: url(img/icon-tel.svg);
    margin-right: 0;
  }
  body:not(.blog) header .nav2 ul li:last-child {
    background: #c18646;
    padding: 0.5rem;
    box-sizing: border-box;
    /*font-size: 2vh;*/
    font-size: 1rem;
    line-height: 1.5em;
    text-align: left;
  }
  body:not(.blog) header .nav2 ul li:last-child a {
    border-bottom: 1px solid #ffffff;
    font-size: 2vh;
    padding: 0 0 0.5rem 0;
    margin-bottom: 0.5rem;
    text-align: center;
    cursor: default;
  }
  body:not(.blog) header .nav2 ul li:last-child a:hover {
    opacity: 1;
  }

  #nav_toggle{
    display: none;
  }

}

/* スマホメニュー */
@media screen and (max-width:767px){
  header {
    width: 100%;
  }
  header .header_inner {
    position: static;
    width: 100%;
    height: 10vh;
    border-top: 6px solid #3b9476;
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
  header.is-animation .header_inner  {
    position: fixed;
    background: rgba(255,255,255,0.9);
    z-index: 1000;
    box-shadow: 0 0 0.5rem #cccccc;
  }
  header .header_inner h1 {
    width: 30%;
    margin: 1rem auto 1rem 1rem;
  }
  header .header_inner h1 a {
    display: block;
  }
  header .header_inner h1 img {
    width: 100%;
  }
  header .header_inner p.smptel a {
    display: flex;
    flex-direction: column;
    color: #3b9476;
    font-size: 3vw;
    padding: 0.5rem 1.5rem 0 1.5rem;
    margin-right: 1rem;
    border-right: 1px solid #cccccc;
    border-left: 1px solid #cccccc;
  }
  header .header_inner p.smptel a span {
    padding-top: 1px;
    color: #3b9476;
  }
  header.is-animation .header_blog {
    display: none;
  }
  header .nav1 {
    display: none;
    margin-top: 10vh;
    position: absolute;
    top:0;
    width: 100%;
    height: 100vh;
    background-color:rgba(59,148,118,0.95);
    left: 0;
    z-index: 100;
  }
  header.open .nav1 {
    align-items: center;
  }
  header .nav1 ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-betwwen;
    margin: 2rem auto;
    width: 90%;
  }
  header .nav1 ul li {
    width: 48%;
    margin: 0 auto;
    text-align: center;
    border-bottom: 1px solid rgba(255,255,255,0.4);
  }
  header .nav1 ul li a{
    display: block;
    padding: 1rem;
    box-sizing: : border-box;
    color: #ffffff;
  }


header .nav1 ul li a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.75em 0;
  }
  header .nav1 ul li:first-child a:before {
    content: '';
    background-image: url(img/nav-kote-smp.svg);
  }
  header .nav1 ul li:nth-of-type(2) a:before {
    content: '';
    background-image: url(img/nav-baketsu-smp.svg);
  }
  header .nav1 ul li:nth-of-type(3) a:before {
    content: '';
    background-image: url(img/nav-home-smp.svg);
  }
  header .nav1 ul li:nth-of-type(4) a:before {
    content: '';
    background-image: url(img/nav-qa-smp.svg);
  }
  header .nav1 ul li:nth-of-type(5) a:before {
    content: '';
    background-image: url(img/nav-company-smp.svg);
  }
  header .nav1 ul li:nth-of-type(6) a:before {
    content: '';
    background-image: url(img/nav-map-smp.svg);
  }
  header .nav1 ul li:nth-of-type(7) a:before {
    content: '';
    background-image: url(img/nav-sr-smp.svg);
  }
  header .nav1 ul li:nth-of-type(8) a:before {
    content: '';
    background-image: url(img/nav-contact-smp.svg);
  }
  header .nav1 ul li:nth-of-type(9),
  header .nav1 ul li:nth-of-type(10) {
    width: 100%;
  }
  header .nav1 ul li:nth-of-type(9) a:before {
    content: '';
    background-image: url(img/nav-kote-smp.svg);
  }
  header .nav1 ul li:nth-of-type(10) a:before {
    content: '';
    background-image: url(img/nav-company-smp.svg);
  }
  header .nav1 ul li:nth-of-type(11) a:before {
    content: '';
    background-image: url(img/nav-instagram-smp.svg);
  }
  header .nav1 ul li:nth-of-type(12) a:before {
    content: '';
    background-image: url(img/nav-fb-smp.svg);
  }
  header .nav1 ul li a:before {
    content: '';
    width: 1.5rem;
    height: 1.5rem;
    display: inline-block;
    background-repeat: no-repeat;
    background-size: contain;
    margin-right: 0.25rem;
  }
  header .nav2 {
    display: none !important;
    z-index: -100;
  }



  /*開閉ボタン*/
  #nav_toggle{
    display: block;
    width: 40px;
    height: 45px;
    position: relative;
    top: 4px;
    z-index: 100;
    margin-right: 1rem;
  }
  #nav_toggle div {
    position: relative;
    display: flex;
    justify-content: center;
  }
  #nav_toggle div:after {
    content: "MENU";
    position: absolute;
    right: 0;
    top: 35px;
    display: block;
    color: #3b9476;
    font-size: 3vw;
    line-height: 0;
    width: 100%;
    text-align: center;
  }
  #nav_toggle span{
    display: block;
    height: 3px;
    background: #3b9476;
    position:absolute;
    width: 100%;
    left: 0;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out; 
  }
  #nav_toggle span:nth-child(1){
    top:0px;
  }
  #nav_toggle span:nth-child(2){
    top:10px;
  }
  #nav_toggle span:nth-child(3){
    top:20px;
  }
  
  /*開閉ボタンopen時*/
  .open #nav_toggle span:nth-child(1) {
      top: 12px;
       -webkit-transform: rotate(135deg);
      -moz-transform: rotate(135deg);
      transform: rotate(135deg);
    }
    .open #nav_toggle span:nth-child(2) {
      width: 0;
      left: 50%;
    }
    .open #nav_toggle span:nth-child(3) {
      top: 12px;
      -webkit-transform: rotate(-135deg);
      -moz-transform: rotate(-135deg);
      transform: rotate(-135deg);
    }
}




/*　footer
--------------------------------------------- */
footer {
  padding-bottom: 0.5rem;
  border-bottom: 8px solid #3b9476;
  position: relative;
}
footer a {
  display: inline-block;
  margin-bottom: 0.75rem;
}
footer a img {
  width: 100%;
}
footer h1 {
  width: 15%;
  max-width: 100px;
  margin: 0 auto;
}
@media print, screen and (min-width : 767px) {
  footer small + p {
    position: absolute;
    right: 2em;
    bottom: 1em;
  }
}
@media screen and (max-width:767px){
  footer h1 {
    width: 40%;
  }
}
footer h1 img {
  width: 100%;
}
footer small {
  color: #777777;
}
footer small + p a {
  color: #666666;
}






/*　sec_movie
--------------------------------------------- */
.sec_movie {
  position: relative;
  display: flex;
  -ms-justify-content    : center; 
  justify-content: center;
  align-items: center;
}
.sec_movie:before {
  content: url(img/icon-kote.svg);
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  z-index: 3;
}
@media screen and (max-width : 767px) {
  .sec_movie:before {
    content: url(img/icon-kote.svg);
    position: absolute;
    right: 0.5rem;
    bottom: 0rem;
    z-index: 3;
  }
}
.sec_movie:after {
  content: '';
  position: absolute;
  z-index: 2;
  left: 0;
  bottom: 0;
  line-height: 0;
  width: 100%;
  height: 20vh;
  background-image: url(img/movie_bottom.svg);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width : 767px) {
  .sec_movie:after {
    content: '';
    position: absolute;
    z-index: 2;
    left: 0;
    bottom: -1px;
    line-height: 0;
    width: 100%;
    height: 20vh;
    background-image: url(img/movie_bottom_smp.svg);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: contain;
  }
}
.sec_movie .div_h1 {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform : translate(-50%,-50%);
  transform : translate(-50%,-50%);
}
@media screen and (max-width : 767px) {
  .sec_movie .div_h1 {
    width: 60vw;
  }
}
.sec_movie .div_h1 h1 {
  margin-top: -1rem;
}
.sec_movie .div_h1 h1 img {
  width: 100%;
}
.sec_movie .top_desc {
  color: #ffffff;
  background: #3b9476;
  padding: 0 1rem 3px 1rem;
  box-sizing: border-box;
  position: absolute;
  z-index: 2;
  top: -3px;
  right: 1rem;
  border-radius: 0 0 0.25rem 0.25rem;
}
@media screen and (max-width : 767px) {
  .sec_movie .top_desc {
    display: none;
  }
}
.sec_movie video {
  width: 100%;
  min-width: 100%;
  min-height: 100%;
}
.div_dot {
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(img/dot.png);
  width: 100%;
  height: 100%;
  z-index: 1;
}


/*　sec_first
--------------------------------------------- */
.sec_first {
  background: #f9f7f4;
  padding: 3% 10% 5% 10%;
  background-image: url(img/back_1.png);
  background-position: left bottom;
  background-repeat: repeat-x;
}
.sec_first p.category {
  font-size: 1.25rem;
  color: #3b9476;
  background-color: rgba(59, 148, 118, 0.15);
  margin-bottom: 2rem;
  padding: 0.5rem 1em;
}
.sec_first article {
  width: 80%;
  min-width: 830px;
  margin: 1rem auto 2rem auto;
  position: relative;
  overflow: hidden;
}
.sec_first article h2 {
  left: 0;
  top: 0;
  position: absolute;
  height: 150px; 
  width: 150px; 
  transform: rotateZ(-45deg);
}
.sec_first article h2 span {
  color: #fff;
  background-color: #3b9476;
  text-align: center;
  display: block;
  width: 100%;
  height: 1.5em; 
  line-height: 1.5em; 
  font-size: 1rem;
}
.sec_first article:after {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  border-top: 2px solid #3b9476;
  border-right: 2px solid #3b9476;
  transform: translateY(-50%) rotate(45deg);
  position: absolute;
  right: 1.5rem;
  top: 50%;
}
.sec_first article a {
  display: flex;
  padding: 1.5rem;
  background: #ffffff;
}
.sec_first article a figure {
  width: 30%;
  line-height: 0;
}
.sec_first article a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sec_first article a div {
  width: 70%;
  padding-left: 1em;
  padding-right: 2em;
  display: flex;
  flex-direction: column;
  text-align: left;
}
.sec_first article a div time {
  color: #aaaaaa;
  margin-bottom: 0.25rem;
}
.sec_first article a div h3 {
  margin-bottom: 0.5rem;
}
.sec_first article a div p {
  margin-bottom: 1em;
}
.sec_first article a div ul {
  display: flex;
  flex-wrap: wrap;
  margin-top: auto;
}
.sec_first article a div ul li {
  font-size: 0.9rem;
  color: #fff;
  background: #c18646;
  padding: 0 0.5em;
  margin-right: 0.5rem;
  border-radius: 0.25em;
}
.sec_first h1 {
  font-size: 1.8rem;
  line-height: 1.5em;
  margin-bottom: 1.5em;
}
.sec_first h1 span {
  color: #3b9476;
  border-bottom: 2px dotted #dddddd;
}
.sec_first h1 + p {
  margin-bottom: 3rem;
}
.sec_first > div {
  background: #ffffff;
  position: relative;
  margin-bottom: 2rem;
  display: flex;
}
@media screen and (max-width : 767px) {
  .sec_first article {
    width: 100%;
    min-width: initial;
  }
  .sec_first article a {
    padding: 0.5rem;
    border: 0;
  }
  .sec_first article h2 {
    height: 25vw;
    width: 25vw;
  }
  .sec_first article h2 span {
    font-size: 3.5vw;
  }
  .sec_first article a div {
    padding-left: 0.5em;
    padding-right: 1em;
  }
  .sec_first article a div time {
    margin-bottom: 0;
  }
  .sec_first article a div h3 {
    font-size: 1rem;
  }
  .sec_first article a div h3 + p {
    display: none;
  }
  .sec_first article a div ul li {
    font-size: 0.85rem;
    line-height: 1.5em;
    padding: 0 0.25rem;
    margin-right: 0.25rem;
    margin-bottom: 0.25rem;
  }
  .sec_first h1 {
    font-size: 1.8rem;
    line-height: 1.5em;
    margin-bottom: 1em;
  }
  .sec_first h1 + p {
    margin-bottom: 1rem;
  }
  div.smptel {
    color: #ffffff;
    background: #c18646;
    padding: 0.75rem 0.5rem;
    box-sizing: border-box;
    font-size: 1.6vh;
    line-height: 1.5em;
    border-radius: 0.5rem;
  }
  div.smptel a {
    color: #ffffff;
    text-align: center;
    font-size: 6.5vw;
    border-bottom: 1px solid #ffffff;
    padding-bottom: 0.5rem;
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  div.smptel a:before {
    content: '';
    background-image: url(img/icon-tel.svg);
    width: 6vw;
    height: 6vw;
    display: inline-block;
    background-repeat: no-repeat;
    background-size: contain;
    margin-right: 0;
  }
}
@media print, screen and (min-width : 767px) {
  .sec_first > div:before {
    content: url(img/image_1.svg);
    position: absolute;
    right: -2rem;
    top: -4rem;
  }
}
.sec_first > div figure {
  width: 30%;
  line-height: 0;
  box-sizing: border-box;
}
.sec_first > div figure img {
  width: 100%;
}
.sec_first > div div {
  width: 70%;
  padding: 1rem;
  box-sizing: border-box;
  text-align: left;
  display: flex;
  flex-direction: column;
}
.sec_first > div div h2 {
  border-bottom: 2px dotted #dddddd;
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
}
.sec_first > div div h3 {
  padding: 0.25rem 0.5rem;
  margin-top: auto;
  font-size: 1rem;
  background-color: #efefef;
  box-sizing: border-box;
}
.sec_first > div div ul {
  padding: 0.25rem;
}

@media screen and (max-width : 767px) {
  .sec_first h1 {
    font-size: 5vw;
  }
  .sec_first > div {
    flex-direction: column;
  }
  .sec_first > div figure {
    width: 100%;
  }
  .sec_first > div div {
    width: 100%;
  }
  .sec_first > div div h3 {
    margin-top: 1rem;
  }
}


/*　sec_hinmoku
--------------------------------------------- */
.sec_hinmoku {
  background: #efefef;
  padding: 7vh 10vh 20vh 10vh;
  background-image: 
    url(img/back_2.svg),
    url(img/back_2_2.svg);
  background-position:
    left top,
    left bottom;
  background-repeat: 
    no-repeat,
    no-repeat;
  background-size: 
    contain,
    contain;
  margin-bottom: -1px;
}
.sec_hinmoku h1 {
  font-size: 1.8rem;
  line-height: 1.5em;
  /*margin-bottom: 0.75em;*/
  display: inline-block;
  /*border-bottom: 2px dotted #dddddd;*/
  padding: 0 0.5rem 0.25rem 0.5rem;
}
.sec_hinmoku h1 span {
  display: flex;
  align-items: center;
}
.sec_hinmoku h1 span:before {
  content: '';
  background-image: url(img/nav-kote.svg);
  width: 2.2rem;
  height: 2.2rem;
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 0.25rem;
}
.sec_hinmoku p.nintei {
  margin: 1rem auto 2rem auto;
}
.sec_hinmoku p.nintei span {
  color: #ffffff;
  background: #c18646;
  border: 4px solid #ffffff;
  box-shadow: 0 0 0 1px #dddddd;
  padding: 0.5rem 1.5rem;
  border-radius: 0.5rem;
}
.sec_hinmoku h1 + p + p {
  margin-bottom: 3rem;
}
.sec_hinmoku .a_sr {
  width: 80%;
  display: block;
  margin: 2rem auto 1rem auto;
}
.sec_hinmoku .a_sr img {
  width: 100%;
}

.sec_hinmoku ul {
  display: flex;
  flex-wrap: wrap;
}
.sec_hinmoku ul li {
  width: 46%;
  margin: 2%;
  text-align: left;
  display: flex;
  flex-direction: column;
}
.sec_hinmoku ul li figure {
  width: 100%;
  margin-bottom: -4em;
  line-height: 0;
}
.sec_hinmoku ul li figure img {
  width: 100%;
  line-height: 0;
  border-radius: 0.5rem;
}
.sec_hinmoku ul li div {
  background: #ffffff;
  width: 90%;
  margin: 0 auto;
  flex-grow: 2;
  border-radius: 0.5rem;
}
.sec_hinmoku ul li h2 {
  display: inline-block;
  width: 100%;
  color: #ffffff;
  background: #3b9476;
  font-size: 1.1rem;
  line-height: 1.5em;
  box-sizing: border-box;
  padding: 0.25rem 0.25rem 0.25rem 1rem;
  border-radius: 0.5rem 0.5rem 0 0;
  position: relative;
}
.sec_hinmoku ul li h2 span {
  position: absolute;
  right: -1.5vw;
  top: -1.5vw;
  display: inline-block;
  width: 6vw;
  height: 6vw;
}
@media screen and (max-width : 767px) {
  .sec_hinmoku ul li h2 span {
    position: absolute;
    right: -1.5vw;
    top: -4vw;
    display: inline-block;
    width: 15vw;
    height: 15vw;
  }
}
.sec_hinmoku ul li h2 span img {
  width: 100%;
}

.sec_hinmoku ul li h2 + p {
  display: inline-block;
  width: 100%;
  color: #3b9476;
  background: #ffffff;
  font-size: 1.1rem;
  line-height: 1.5em;
  font-weight: bold;
  padding: 0.5rem 1rem;
  border-bottom: 2px dotted #dddddd;
}
.sec_hinmoku ul li h2 + p + p {
  padding: 0.5rem 1rem 1rem 1rem;
  font-size: 0.9rem;
  line-height: 1.5em;
}
.sec_hinmoku ul li h2 + p + p span {
  color: #777777;
  border: 1px solid #777777;
  padding: 0 0.25em;
  box-sizing: border-box;
  border-radius: 0.25em;
  font-size: 0.8em;
  font-weight: normal;
  display: block;
  margin-top: 1rem;
}
.div_original {
  width: 92%;
  margin: 0 auto;
  background: #ffffff;
  margin: 3rem auto;
  padding: 2rem 50% 3rem 1rem;
  border-radius: 0.5rem;
  box-sizing: border-box;
  text-align: left;
  font-size: 0.9rem;
  position: relative;
  line-height: 1.5em;
}
.div_original h2 {
  color: #3b9476;
  font-size: 1.1rem;
  line-height: 1.5em;
  margin-bottom: 1rem;
}
.div_original figure {
  position: absolute;
  top: -2rem;
  right: 0;
  width: 50%;
  box-sizing: border-box;
}
.div_original figure img {
  width: 100%;
}

@media screen and (max-width : 767px) {
  .sec_hinmoku {
    padding: 7vh 5% 10vh 5%;
  }
  .sec_hinmoku ul {
    flex-direction: column;
  }
  .sec_hinmoku ul li {
    width: 100%;
    margin: 1rem 0;
    text-align: left;
    display: flex;
    flex-direction: column;
  }
  .sec_hinmoku ul li figure {
    width: 96%;
    border-radius: 0.5rem;
    margin: 0 auto -3em auto;
  }
  .div_original {
    width: 90%;
    margin: 0 auto;
    background: #ffffff;
    margin: 3rem auto;
    padding: 2rem;
    border-radius: 0.5rem;
    box-sizing: border-box;
    text-align: left;
    font-size: 0.9rem;
    position: static;
    line-height: 1.5em;
  }
  .div_original h2 {
    color: #3b9476;
    text-align: center;
    font-size: 1.1rem;
    line-height: 1.5em;
    margin-bottom: 1rem;
  }
  .div_original figure {
    margin-top: 1rem;
    position: static;
    box-sizing: border-box;
    width: 100%;
  }
  .div_original figure img {
    width: 100%;
  }
}



/*　sec_nagare
--------------------------------------------- */
.sec_nagare {
  background: #ffffff;
  padding: 7vh 10vh;
}
.sec_nagare h1 {
  font-size: 1.8rem;
  line-height: 1.5em;
  margin-bottom: 1.5em;
  display: inline-block;
  border-bottom: 2px dotted #dddddd;
  padding: 0 0.5rem 0.25rem 0.5rem;
}
.sec_nagare h1 span {
  display: flex;
  align-items: center;
}
.sec_nagare h1 span:before {
  content: '';
  background-image: url(img/nav-baketsu.svg);
  width: 2.2rem;
  height: 2.2rem;
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 0.25rem;
}
.sec_nagare h1 + p {
  margin-bottom: 3rem;
}
.sec_nagare ol {
  width: 80%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
}
@media print, screen and (min-width : 767px) {
  .sec_nagare ol {
    max-width: 800px;
  }
}
.sec_nagare ol li {
  width: 25%;
  padding: 2%;
  box-sizing: border-box;
  position: relative;
}
.sec_nagare ol li figure,
.sec_nagare ol li figure img {
  width: 100%;
  line-height: 0;
}
/*.sec_nagare ol li:after {
  position: absolute;
  content: '';
  background-image: url(img/icon-arrow.svg);
  width: 16px;
  height: 26px;
  top: 50%;
  right: -5%;
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  margin-top: -0.75rem;
}
.sec_nagare ol li:last-child:after {
  background-image: none;
}*/

@media screen and (max-width : 767px) {
  .sec_nagare {
    padding: 7vh 5% 10vh 5%;
  }
  .sec_nagare ol li {
    width: 50%;
    padding: 2%;
    box-sizing: border-box;
    position: relative;
  }
}


/*　sec_jirei
--------------------------------------------- */
.sec_jirei {
  background: #ffffff;
  padding: 7vh 6vh 13vh 6vh;
  background-image: url(img/back_3.png);
}
.sec_jirei h1 {
  font-size: 1.8rem;
  line-height: 1.5em;
  margin-bottom: 1.5em;
  display: inline-block;
  border-bottom: 2px dotted #dddddd;
  padding: 0 0.5rem 0.25rem 0.5rem;
}
.sec_jirei h1 span {
  display: flex;
  align-items: center;
}
.sec_jirei h1 span:before {
  content: '';
  background-image: url(img/nav-home.svg);
  width: 2.2rem;
  height: 2.2rem;
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 0.25rem;
}
.sec_jirei h1 + p {
  margin-bottom: 3rem;
}

/* 施工例設定 */
.sec_jirei .swiper-container {
  width: 90% !important;
  margin: 0 auto !important;
}
@media print, screen and (min-width : 767px) {
  .sec_jirei .swiper-container {
    max-width: 1100px !important;
  }
}

.swiper-nav {
  position: relative;
  width: 10%;
  margin: 3rem auto;
}
.swiper-button-prev {
  background-image: url(img/arrow-left.svg) !important;
  width: 2rem !important;
  height: 2rem !important;
  background-size: cover !important;
}
.swiper-button-next {
  background-image: url(img/arrow-right.svg) !important;
  width: 2rem !important;
  height: 2rem !important;
  background-size: cover !important;
}
.sec_jirei .swiper-container,
.swiper-slide {
  background: #ffffff;
}
.sec_jirei #bxsliderbox {
  width: 45%;
  height: auto;
  float: left;
}
.bx-pager {
  display: flex;
}
.bx-pager a {
  display: block;
  width: 23%;
  margin: 0 1%;
  box-sizing: border-box;
}
.bx-pager a img {
  width: 100%;
}
.bx-wrapper {
  margin-bottom: 0 !important;
  box-shadow: none !important;
}
.sec_jirei .bxslider li figure,
.sec_jirei .bxslider li figure img {
  width: 100%;
}
.sec_jirei .slider_desc {
  width: 55%;
  float: left;
  text-align: left;
  padding: 0.5rem;
  border-radius: 0.5rem;
  box-sizing: border-box;
}
.sec_jirei .slider_desc h2 {
  font-size: 1.3rem;
}
.sec_jirei .slider_desc .material {
  font-size: 2vh;
  color: #ffffff;
  display: inline-block;
  background: #c18646;
  padding: 0 0.5rem;
  margin-right: 1rem;
  box-sizing: border-box;
  border-radius: 0.25rem;
  float: left;
}
.sec_jirei .slider_desc .area {
  display: flex;
  align-items: center;
}
.sec_jirei .slider_desc .area:before {
  content: '';
  background-image: url(img/icon-map.svg);
  width: 1rem;
  height: 1rem;
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
}
.sec_jirei .slider_desc h2 {
  padding: 0.5rem 0;
  margin-bottom: 0.5rem;
  border-bottom: 2px dotted #dddddd;
}
.sec_jirei .slider_desc p.desc {
  font-size: 0.9rem;
  line-height: 1.5em;
}

@media screen and (max-width : 767px) {
  .sec_jirei #bxsliderbox {
    width: 100%;
    height: auto;
    float: none;
  }
  .sec_jirei .slider_desc {
    width: 100%;
    border: 2px solid #ffffff;
  }
  .sec_jirei .swiper-container {
    width: 100% !important;
  }
  .swiper-nav {
    width: 30VW;
  }
}


/*　sec_qanda
--------------------------------------------- */
.sec_qanda {
  background: #ffffff;
  padding: 7vh 10vh;
}
.sec_qanda h1 {
  font-size: 1.8rem;
  line-height: 1.5em;
  margin-bottom: 1.5em;
  display: inline-block;
  border-bottom: 2px dotted #dddddd;
  padding: 0 0.5rem 0.25rem 0.5rem;
}
.sec_qanda h1 span {
  display: flex;
  align-items: center;
}
.sec_qanda h1 span:before {
  content: '';
  background-image: url(img/nav-qa.svg);
  width: 2.2rem;
  height: 2.2rem;
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 0.25rem;
}
.sec_qanda h1 + p {
  margin-bottom: 3rem;
}
.sec_qanda ul li {
  text-align: left;
  border: 2px solid #dddddd;
  padding: 0.5rem 1rem;
  box-sizing: border-box;
  border-radius: 0.5rem;
  margin-bottom: 1rem;
}
.sec_qanda ul li dl dt,
.sec_qanda ul li dl dd {
  padding: 0.25rem 0;
  box-sizing: border-box;
  display: flex;
}
.sec_qanda ul li dl dt span,
.sec_qanda ul li dl dd span {
  display: block;
}
.sec_qanda ul li dl dt span:first-child,
.sec_qanda ul li dl dd span:first-child {
  margin-right: 0.5rem;
  width: 4%;
  box-sizing: border-box;
}
.sec_qanda ul li dl dt span:last-child,
.sec_qanda ul li dl dd span:last-child {
  margin-right: 0.5rem;
  width: 96%;
  box-sizing: border-box;
}
.sec_qanda ul li dl dt span:first-child img,
.sec_qanda ul li dl dd span:first-child img {
  width: 100%;
}

.sec_qanda ul li dl dt {
  border-bottom: 1px solid #dddddd;
}
@media screen and (max-width : 767px) {
  .sec_qanda {
    padding: 7vh 5% 10vh 5%;
  }
  .sec_qanda ul li dl dt span:first-child,
  .sec_qanda ul li dl dd span:first-child {
    margin-right: 0.5rem;
    width: 10%;
    box-sizing: border-box;
  }
  .sec_qanda ul li dl dt span:last-child,
  .sec_qanda ul li dl dd span:last-child {
    margin-right: 0.5rem;
    width: 90%;
    box-sizing: border-box;
  }
}


/*　sec_company
--------------------------------------------- */
.sec_company {
  background: #efefef;
  padding: 7vh 10vh;
}
.sec_company h1 {
  font-size: 1.8rem;
  line-height: 1.5em;
  margin-bottom: 1.5em;
  display: inline-block;
  border-bottom: 2px dotted #dddddd;
  padding: 0 0.5rem 0.25rem 0.5rem;
}
.sec_company h1 span {
  display: flex;
  align-items: center;
}
.sec_company h1 span:before {
  content: '';
  background-image: url(img/nav-company.svg);
  width: 2.2rem;
  height: 2.2rem;
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 0.25rem;
}
.sec_company h1 + p {
  margin-bottom: 3rem;
}
.sec_company div {
  background: #ffffff;
  padding: 2rem;
  box-sizing: border-box;
  border-radius: 0.5rem;
  position: relative;
}
.sec_company div:after {
  content: url(img/icon-baketsu.svg);
  position: absolute;
  right: -2rem;
  bottom: -1rem;
  z-index: 3;
}
@media screen and (max-width : 767px) {
  .sec_company div:after {
      content: url(img/icon-baketsu.svg);
      position: absolute;
      right:1rem;
      bottom: -4rem;
      z-index: 3;
  }
}
.sec_company div dl {
  display: flex;
  flex-wrap: wrap;
  text-align: left;
  margin-bottom: 2rem;
}
.sec_company div dl dt {
  width: 15%;
  color: #3b9476;
  padding: 0.5rem;
  box-sizing: border-box;
  border-bottom: 2px dotted #dddddd;
}
.sec_company div dl dd {
  width: 85%;
  padding: 0.5rem;
  box-sizing: border-box;
  border-bottom: 2px dotted #dddddd;
}
.sec_company div figure {
  width: 96%;
  max-width: 800px;
  margin: 0 auto;
}
.sec_company div figure img {
  width: 100%;
}

@media screen and (max-width : 767px) {
  .sec_company {
    padding: 7vh 5% 10vh 5%;
  }
  .sec_company div {
    padding: 1rem;
  }
  .sec_company div dl {
    display: flex;
    flex-direction: column;
  }
  .sec_company div dl dt {
    width: 100%;
    color: #3b9476;
    padding: 0.5rem 0 0 0;
    box-sizing: border-box;
    border: 0;
  }
  .sec_company div dl dd {
    width: 100%;
    padding: 0 0 0 0.5rem;
    box-sizing: border-box;
    border-bottom: 2px dotted #dddddd;
  }
}


/*　sec_access
--------------------------------------------- */
.sec_access {
  background: #ffffff;
  padding: 7vh 10vh;
}
@media screen and (max-width : 767px) {
  .sec_access {
    background: #ffffff;
    padding: 7vh 2vh;
  }
}
.sec_access h1 {
  font-size: 1.8rem;
  line-height: 1.5em;
  margin-bottom: 1.5em;
  display: inline-block;
  border-bottom: 2px dotted #dddddd;
  padding: 0 0.5rem 0.25rem 0.5rem;
}
.sec_access h1 span {
  display: flex;
  align-items: center;
}
.sec_access h1 span:before {
  content: '';
  background-image: url(img/nav-map.svg);
  width: 2.2rem;
  height: 2.2rem;
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 0.25rem;
}
.sec_access h1 + p {
  margin-bottom: 3rem;
}
.sec_access iframe {
  width: 90%;
  max-width: 900px;
  margin: 0 auto;
}


/*　sec_instagram
--------------------------------------------- */
.sec_instagram {
  background: #efefef;
  padding: 7vh 10vh;
}
.sec_instagram h1 {
  font-size: 1.8rem;
  line-height: 1.5em;
  margin-bottom: 1.5em;
  display: inline-block;
  border-bottom: 2px dotted #dddddd;
  padding: 0 0.5rem 0.25rem 0.5rem;
}
.sec_instagram h1 span {
  display: flex;
  align-items: center;
}
.sec_instagram h1 span:before {
  content: '';
  background-image: url(img/nav-instagram.svg);
  width: 2.2rem;
  height: 2.2rem;
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 0.25rem;
}
.sec_instagram h1 + p {
  margin-bottom: 2rem;
}
#instafeed ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#instafeed ul li {
  width: 12vw;
  height: 12vw;
  overflow: hidden;
  margin: 1%;
  position: relative;
}
#instafeed a {
  display: block;
  width: 100%;
  height: 100%;
}
#instafeed a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#instafeed a:before {
  content: '';
  background-image: url(img/insta-frame.svg);
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  z-index: 3;
  width: 100%;
  height: 100%;
}
@media screen and (max-width : 767px) {
  .sec_instagram {
    background: #efefef;
    padding: 7vh 2vh;
  }
  #instafeed ul {
    display: flex;
    flex-wrap: wrap;
  }
  #instafeed ul li {
    width: 25vw;
    height: 25vw;
    margin: 1%;
    position: relative;
  }
  #instafeed ul li:last-child {
    display: none;
  }
}

.sec_instagram p.ig a {
  display: inline-block;
  padding: 0.5rem 3em;
  color: #ffffff;
  background-color: #3b9476;
  border-radius: 3em;
  text-align: center;
}


/*　sec_contact
--------------------------------------------- */
.sec_contact {
  background: #ffffff;
  padding: 7vh 10vh;
  width: 100%;
  height: 100%;
}
@media screen and (max-width : 767px) {
  .sec_contact {
    padding: 7vh 2vh;
    width: 100%;
    height: 100%;
  }
}
.sec_contact h1 {
  font-size: 1.8rem;
  line-height: 1.5em;
  margin-bottom: 1.5em;
  display: inline-block;
  border-bottom: 2px dotted #dddddd;
  padding: 0 0.5rem 0.25rem 0.5rem;
}
.sec_contact h1 span {
  display: flex;
  align-items: center;
}
.sec_contact h1 span:before {
  content: '';
  background-image: url(img/nav-contact.svg);
  width: 2.2rem;
  height: 2.2rem;
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 0.25rem;
}
.sec_contact h1 + p {
  margin-bottom: 3rem;
}
.sec_contact .table {
  width: 90%;
  margin: 0 auto 3rem auto;
  padding: 0.5rem;
  box-sizing: border-box;
  border: 2px solid #dddddd;
  border-radius: 0.5rem;
}
.sec_contact .table dl {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.sec_contact .table dl dt {
  width: 30%;
  display: block;
  font-weight: normal;
  text-align: left;
  padding: 1rem 0.5rem;
  border-bottom: 1px solid #dddddd;
  box-sizing: border-box;
}
.sec_contact .table dl dd {
  width: 70%;
  display: block;
  padding: 1rem 0.5rem;
  border-bottom: 1px solid #dddddd;
  box-sizing: border-box;
  text-align: left;
}
@media screen and (max-width : 767px) {
  .sec_contact tr {
    width: 100%;
    display: flex;
    flex-direction: column;
  }
  .sec_contact tr th {
    width: 100%;
    border: 0;
    padding: 0.5rem 0.25rem 0.25rem 0.25rem;
  }
  .sec_contact tr td {
    width: 100%;
    padding: 0.25rem 0.25rem 1rem 0.25rem;
  }
}
.sec_contact .table dl dd input,
.sec_contact .table dl dd textarea {
  width: 100%;
  padding: 0.5rem;
  border: 1px solid #dddddd;
  background: #efefef;
}

.sec_contact .table dl dd textarea {
  resize: vertical;
}
.sec_contact .table dl dd .mwform-tel-field input[type="text"] {
  width: 25%;
}
.sec_contact span.red {
  color: #cc0000;
  font-weight: bold;
}
.sec_contact .table .more {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.sec_contact .table input[type="submit"] {
  width: 30%;
  color: #666666;
  font-size: 1rem;
  font-weight: bold;
  display: block;
  text-align: center;
  margin: 2rem 0.5rem;
  background: -moz-linear-gradient(top, #ffffff, #dddddd);
  background: -webkit-linear-gradient(top, #ffffff, #dddddd);
  background: -ms-linear-gradient(top, #ffffff, #dddddd);
  border-width: 1px;
  border-style: solid;
  border-color: rgb(221, 221, 221);
  border-image: initial;
  padding: 1rem;
  border-radius: 0.2rem;
  cursor: pointer;
}
.sec_contact h2 {
  text-align: left;
  font-size: 1rem;
  line-height: 1.5em;
  border-bottom: 1px solid #dddddd;
  margin-bottom: 0.5rem;
}
.sec_contact h2 + p {
  text-align: left;
  margin-bottom: 1rem;
  font-size: 0.9rem;
  line-height: 1.5em;
  padding: 0.5em;
  box-sizing: border-box;
}
.sec_contact .red_txt ul li {
  color: #cc0000;
  font-weight: bold;
}
.sec_contact .red_txt ul {
  background: #f7c7c0;
  margin: 0 3rem;
  padding: 1rem 3rem;
  box-sizing: border-box;
  border-radius: 0.5rem;
}

@media screen and (max-width : 767px) {
  .sec_contact .red_txt ul {
    background: #f7c7c0;
    padding: 1rem;
    box-sizing: border-box;
    border-radius: 0.5rem;
  }
}


/*　showroom / since 2020.12
--------------------------------------------- */
.showroom .sec_main img {
  width: 100%;
  vertical-align: bottom;
}
.showroom .sec_main div {
  position: relative;
  overflow: hidden;
}
.showroom .sec_main div:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(img/dot.png);
  width: 100%;
  height: 100%;
  z-index: 1;
}
.showroom .sec_main div:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -1px;
  left: -1.5%;
  background-image: url(img/back_2_2.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom;
  width: 103%;
  height: 100%;
  z-index: 2;
}
.showroom .sec_main {
  position: relative;
}
.showroom .sec_main h1 {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  display: inline-block;
  width: 80%;
  margin-top: -3rem;
}
.showroom .sec_main h1 img {
  width: 200px;
  display: block;
  margin: 0 auto 3rem auto;
}
.showroom .sec_main h1 span {
  display: block;
  font-family: 'Noto Serif JP', serif;
  font-size: 4rem;
  font-weight: normal;
  color: #ffffff;
  text-shadow: 
    #666666 1px 1px 10px, #666666 -1px 1px 10px,
    #666666 1px -1px 10px, #666666 -1px -1px 10px;
}

.sec_about {
  padding: 2rem 0 4rem 0;
}
.sec_about h1 {
 font-size: 1.8rem;
  line-height: 1.5em;
  margin-bottom: 1.5em;
  display: inline-block;
  border-bottom: 2px dotted #dddddd;
  padding: 0 0.5rem 0.25rem 0.5rem; 
}
.sec_about div {
  display: flex;
  justify-content: center;
  margin: 1rem auto;
}
.sec_about div figure {
  width: 40%;
}
.sec_about div figure img {
  width: 100%;
}
.sec_about div p {
  margin-left: 2rem;
  text-align: left;
}

.sec_lineup {
  background: #ffffff;
  padding: 7vh 3vh;
  background-image: url(img/back_3.png);
}
.sec_lineup h1 {
  font-size: 1.8rem;
  line-height: 1.5em;
  margin-bottom: 1.5rem;
  display: inline-block;
  border-bottom: 2px dotted #dddddd;
  padding: 0 0.5rem 0.25rem 0.5rem;
}
.sec_lineup h1 span {
  display: flex;
  align-items: center;
}
.sec_lineup h1 span:before {
  content: '';
  background-image: url(img/nav-kote.svg);
  width: 2.2rem;
  height: 2.2rem;
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 0.25rem;
}
.sec_lineup ul {
  display: flex;
  width: 90%;
  margin: 2rem auto;
}
.sec_lineup ul li {
  width: 25%;
  margin: 0 0.5%;
  padding: 1rem;
  background-color: #ffffff;
  border: 2px solid #cccccc;
  border-radius: 0.5rem;
}
.sec_lineup ul li figure {
  width: 100%;
}
.sec_lineup ul li figure img {
  width: 100%;
  vertical-align: bottom;
}
.sec_lineup ul li h2 {
  font-size: 1rem;
  padding: 0.5rem 0;
  margin-bottom: 0.5rem;
  border-bottom: 2px solid #dddddd;
}
.sec_lineup ul li p {
  font-size: 0.9rem;
  line-height: 1.5em;
  text-align: left;
}

.sec_visit {
  background: #ffffff;
  padding: 7vh 3vh;
}
.sec_visit h1 {
  font-size: 1.8rem;
  line-height: 1.5em;
  margin-bottom: 1.5rem;
  display: inline-block;
  border-bottom: 2px dotted #dddddd;
  padding: 0 0.5rem 0.25rem 0.5rem;
}
.sec_visit h1 span {
  display: flex;
  align-items: center;
}
.sec_visit h1 span:before {
  content: '';
  background-image: url(img/nav-map.svg);
  width: 2.2rem;
  height: 2.2rem;
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 0.25rem;
}
.sec_visit > div {
  display: flex;
  justify-content: center;
  margin: 1rem auto;
}
.sec_visit > div iframe {
  width: 40%;
}
.sec_visit > div > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: left;
  padding-left: 2rem;
}
.sec_visit > div > div > h2 {
  color: #3b9476;
  margin-bottom: 1em;
}
.sec_visit > div > div > div {
  margin: 2rem 0;
  border: 2px solid #333333;
  padding: 1.5rem;
  text-align: center;
}
.sec_visit > div > div > div h3 {
  border-bottom: 1px solid #cccccc;
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
}

@media screen and (max-width : 767px) {
  .showroom .sec_main h1 {
    margin-top: -1rem;
  }
  .showroom .sec_main h1 img {
    width: 35%;
    margin: 0 auto 1rem auto;
  }
  .showroom .sec_main h1 span {
    font-size: 7vw;
  }
  .showroom .sec_about {
    padding: 3% 10% 5% 10%;
  }
  .showroom .sec_about h1 {
    font-size: 5vw;
    margin-bottom: 1rem;
  }
  .showroom .sec_about div {
    flex-direction: column;
  }
  .showroom .sec_about div figure {
    width: 100%;
    margin-bottom: 0.5rem;
  }
  .showroom .sec_about div p {
    margin-left: 0;
  }
  .showroom .sec_lineup h1 {
    font-size: 5vw;
  }
  .showroom .sec_lineup ul {
    flex-direction: column;
  }
  .showroom .sec_lineup ul li {
    margin: 0 0 0.5rem 0;
    width: 100%;
  }
  .showroom .sec_visit h1 {
    font-size: 5vw;
  }
  .showroom .sec_visit div {
    flex-direction: column;
  }
  .showroom .sec_visit div iframe {
    width: 100%;
    order: 2;
  }
  .sec_visit > div > div {
    padding-left: 0;
    order: 1;
    text-align: center;
    margin-bottom: 1rem;
  }
  .sec_visit > div > div > div p {
    text-align: left;
  }
}



/*　recruit / since 2022.08
--------------------------------------------- */
.sec_recruit {
  background: #ffffff;
  padding: 7vh 10vh;
  width: 100%;
  height: 100%;
}
.sec_recruit h1 {
  font-size: 1.8rem;
  line-height: 1.5em;
  margin-bottom: 1.5em;
  display: inline-block;
  border-bottom: 2px dotted #dddddd;
  padding: 0 0.5rem 0.25rem 0.5rem;
}
.sec_recruit dl {
  width: 90%;
  max-width: 1100px;
  display: flex;
  flex-wrap: wrap;
  margin: 1rem auto 2rem auto;
  border: 1px solid #cccccc;
  border-bottom: 0;
}
.sec_recruit dl dt {
  width: 30%;
  border-bottom: 1px solid #cccccc;
  background-color: #efefef;
  padding: 0.5em;
  display: flex;
  align-items: center;
}
.sec_recruit dl dd {
  width: 70%;
  border-bottom: 1px solid #cccccc;
  padding: 0.5em 1.5em;
  text-align: left;
}
.sec_recruit dl + p {
  margin-top: 3rem;
  margin-bottom: 10rem;
}
@media screen and (max-width : 767px) {
  .sec_recruit {
    padding: 7vh 2vh;
    width: 100%;
    height: 100%;
  }
  .sec_recruit dl {
    flex-direction: column;
  }
  .sec_recruit dl dt {
    display: initial;
    width: 100%;
    text-align: left;
  }
  .sec_recruit dl dd {
    width: 100%;
  }
  .sec_recruit dl + p {
    width: 90%;
    margin: 3rem auto;
    text-align: left;
  }
}



/*　privacypolicy / since 2023.04
--------------------------------------------- */
.sec_privacy {
  background: #ffffff;
  padding: 7vh 10vh;
  margin-bottom: 3rem;
  width: 100%;
  height: 100%;
}
.sec_privacy p {
  text-align: left;
}
.sec_privacy h1 {
  font-size: 1.8rem;
  line-height: 1.5em;
  margin-bottom: 1.5rem;
  display: inline-block;
  border-bottom: 2px dotted #dddddd;
  padding: 0 0.5rem 0.25rem 0.5rem;
}
.sec_privacy h1 + p {
  margin-bottom: 2rem;
}
.sec_privacy h2 {
  font-size: 1rem;
  display: flex;
  align-items: center;
  border-bottom: 2px dotted #ccc;
  padding-bottom: 0.25rem;
  margin-top: 2em;
}
.sec_privacy h2:before {
  content: "■";
  color: #3b9476;
}
@media screen and (max-width : 767px) {
  .sec_privacy {
    padding: 2rem;
  }
}




/*　2025.8 問合せフォーム turnstile実装
--------------------------------------------- */
.cf-turnstile {
  margin-top: 2rem;
  text-align: center !important;
}