/* CSS Document */
#top .group { margin: 0 0 100px; }

#main-visual { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; color: #fff; }

#main-visual a { display: block; position: relative; width: calc(100% / 3); overflow: hidden; background: #000; }

#main-visual a:before { content: ""; position: absolute; z-index: 1; bottom: 10%; right: 7%; width: 25px; height: 25px; background: url("../../images/common/ic_arrow.png") no-repeat left center/100% 100%; }

#main-visual img { width: 100%; -webkit-transition: all 1s ease-in-out; transition: all 1s ease-in-out; -webkit-transform: scale(1.005); transform: scale(1.005); }

#main-visual .tit { font-size: 48px; line-height: 1.8; letter-spacing: 0.1em; position: absolute; bottom: 9%; left: 7%; }

#main-visual .tit span { font-size: 12px; letter-spacing: 0.2em; display: block; font-family: "Cinzel", serif; }

#main-visual .cap { position: absolute; bottom: 0; right: 0; width: 20px; height: 20px; text-align: center; line-height: 20px; font-size: 12px; font-family: "Cinzel", serif; background: #000; }

#main-visual a:hover img { -webkit-transform: scale(1.1); transform: scale(1.1); opacity: 0.8; }

#main-visual.effect { -webkit-transition: all 2s; transition: all 2s; }

#slider { overflow: hidden; }

#slider .slide { position: relative; }

#slider .slide img { width: 100%; }

#slider .inner { position: absolute; top: 10%; left: 6%; color: #fff; font-size: 22px; letter-spacing: 0.2em; line-height: 2.2; }

#slider .en { font-size: 12px; letter-spacing: 0.2em; margin: 1.5em 0 0 0; font-family: "Cinzel", serif; }

#slider .portfo .content { position: absolute; left: 0; right: 0; margin: auto; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }

#slider .portfo .bg { position: absolute; width: 100%; height: 100%; left: 0; top: 0; background: url("../../images/top/bg_1.jpg") repeat; }

#slider .portfo .tit { font-size: 22px; line-height: 2; padding: 0 0 75px; }

#slider .portfo .bxport { position: relative; padding: 0 0 60px; }

#slider .portfo .bxport .txtL { font-size: 16px; line-height: 2.5; }

#slider .portfo .bxport .txtL p { padding: 0 0 6px; }

#slider .portfo .bxport .txtL .txt1 { font-size: 20px; padding: 45px 0 0; }

#slider .portfo .img { position: absolute; bottom: 0; right: 0; width: 220px; letter-spacing: 0.1em; }

#slider .portfo .img p:nth-of-type(1) { font-size: 12px; padding: 15px 0 0; }

#slider .portfo .img p:nth-of-type(2) { font-size: 14px; padding: 7px 0 0; }

#slider .portfo .img p:nth-of-type(2) span { font-size: 20px; padding-left: 13px; }

.box-btn { margin: 0 0 60px; display: -webkit-box; display: -ms-flexbox; display: flex; }

.box-btn a { width: 32.6%; height: 100px; letter-spacing: 0.1em; line-height: 100px; text-align: center; margin: 0 1.1% 0 0; font-size: 20px; color: #fff; }

.box-btn a:last-of-type { margin: 0; }

.box-btn a:before { content: ""; line-height: 1; position: relative; top: 4px; width: 24px; height: 24px; background: url("../../images/common/ic_arrow.png") no-repeat left center/100% 100%; display: inline-block; margin: 0 1em 0 0; }

.box-btn a.btn-recruit { background: -webkit-gradient(linear, left top, right top, color-stop(15%, #510b28), color-stop(50%, #a15c79), color-stop(85%, #510b28)); background: linear-gradient(90deg, #510b28 15%, #a15c79 50%, #510b28 85%); }

.box-btn a.btn-recruit:hover { background: #510b28; }

.box-btn a.btn-request { background: -webkit-gradient(linear, left top, right top, color-stop(15%, #436e05), color-stop(50%, #739f35), color-stop(85%, #436e05)); background: linear-gradient(90deg, #436e05 15%, #739f35 50%, #436e05 85%); }

.box-btn a.btn-request:hover { background: #436e05; }

.box-btn a.btn-brochure { background: -webkit-gradient(linear, left top, right top, from(#6f3c05), color-stop(50%, #af8354), to(#6f3c05)); background: linear-gradient(to right, #6f3c05 0%, #af8354 50%, #6f3c05 100%); /*background: #545454; pointer-events: none;*/}

.box-btn a.btn-brochure:hover { background: #6f3c05; }

.box-bnr { text-align: center; }

.box-bnr a:hover { opacity: 0.8; }

#info { padding: 25px 0 75px; border-bottom: 1px solid #e6e6e6; font-size: 16px; }

#info .tit { font-size: 22px; line-height: 1; letter-spacing: 0.2em; font-family: "Cinzel", serif; margin: 0 0 45px; position: relative; }

#info .tit:after { position: absolute; content: ""; background: #000; height: 1px; width: 100%; right: 0; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }

#info .tit span { display: inline-block; background: #fff; position: relative; z-index: 3; padding-right: 10px; }

#info .txt { font-size: 24px; color: #ad4271; font-weight: bold; margin: 0 0 11px; line-height: 1.4; }

#info .txt2 { margin: 0 0 45px; }

#info .contact a { max-width: 574px; line-height: 1; display: inline-block; margin-right: 25px; }

#info .contact .info_tel { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

#info .contact .info_tel .info_time span { display: block; }

#bnr2 ul { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

#bnr2 li { width: 49.075%; margin: 0 0 60px 0; }

.business-info { margin-bottom: 100px; }

.business-info .title { color: #ad4271; font-size: 26px; line-height: 1.3; margin-bottom: 20px; }

.business-info .title::before { content: ""; display: inline-block; width: 4px; height: 26px; background-color: #ad4271; margin-right: 15px; -webkit-transform: translateY(3px); transform: translateY(3px); }

[class*="table"] { font-weight: 500; width: 100%; }

[class*="table"] tr td, [class*="table"] tr th { border: solid 1px #575757; }

.table-pc { font-size: 15px; }

.table-pc tr th, .table-pc tr td { padding: 20px 15px 18px; }

.table-pc tr th { background-color: #f7ecf1; text-align: center; font-weight: bold; }

.table-pc tr th:nth-child(1) { width: 30.18519%; }

.table-pc tr th:nth-child(2) { width: 24.81481%; }

.table-pc tr th:nth-child(4) { width: 12.5%; }

.table-pc tr td:nth-child(2) { font-size: 14px; }

.table-pc tr td:nth-child(3), .table-pc tr td:nth-child(5), .table-pc tr td:nth-child(6) { text-align: center; }

.table-sp { margin-bottom: 18px; }

.table-sp tr td, .table-sp tr th { padding: 19px; }

.table-sp tr td:first-child, .table-sp tr th:first-child { font-weight: bold; }

.table-sp tr td:first-child { background-color: #f7ecf1; }

.table-sp tr th { color: #fff; background-color: #ad4271; }

.table-sp tr th:first-child { width: 34.88372%; }

/* ============== Media =============== */
@media only screen and (min-width: 1200px) { .table-sp { display: none; } }

@media only screen and (max-width: 1199px) { .table-pc { display: none; } }

@media only screen and (max-width: 1680px) { #main-visual .tit { font-size: 3vw; } }

@media only screen and (max-width: 1200px) { #slider .portfo .tit { font-size: 20px; padding: 0 0 30px; }
  #slider .portfo .bxport { padding: 0 0 45px; }
  #slider .portfo .bxport .txtL { font-size: 14px; line-height: 2; }
  #slider .portfo .bxport .txtL .txt1 { font-size: 18px; padding: 30px 0 0; } }

@media only screen and (max-width: 1000px) { #slider .inner { font-size: 2vw; top: 3%; left: 3%; }
  #slider .en { font-size: 1.2vw; margin: 1em 0 0 0; }
  #slider .portfo .img { width: 175px; }
  #slider .portfo .img p:nth-of-type(1) { font-size: 10px; }
  #slider .portfo .img p:nth-of-type(2) { font-size: 12px; }
  #slider .portfo .img p:nth-of-type(2) span { font-size: 15px; padding-left: 10px; }
  #slider .portfo .tit { font-size: 2vw; padding: 0 0 3vw; }
  #slider .portfo .bxport .txtL { font-size: 1.4vw; }
  #slider .portfo .bxport .txtL .txt1 { font-size: 1.8vw; padding: 3vw 0 0; }
  #info .contact a { width: 61%; margin-right: 20px; }
}

@media only screen and (max-width: 767px) { #main-visual a { width: 50%; }
  #main-visual a:before { width: 5vw; height: 5vw; }
  #main-visual img { -webkit-transform: scale(1); transform: scale(1); }
  #main-visual .tit { font-size: 4.5vw; }
  #main-visual .tit span { font-size: 2.5vw; }
  #main-visual .cap { font-size: 2.5vw; width: 4vw; height: 4vw; line-height: 4vw; }
  #slider .portfo .img { width: 40%; margin: 0 auto 4.5vw; position: relative; text-align: center; }
  #slider .portfo .img p:nth-of-type(1) { font-size: 2.1vw; padding: 2vw 0 0; }
  #slider .portfo .img p:nth-of-type(2) { font-size: 2.3vw; padding: 1vw 0 0; }
  #slider .portfo .img p:nth-of-type(2) span { font-size: 3.2vw; padding-left: 1vw; }
  #slider .portfo .tit { font-size: 3.5vw; padding: 0 0 5vw; line-height: 1.7; text-align: center; }
  #slider .portfo .bxport { padding: 0; }
  #slider .portfo .bxport .txtL p { font-size: 2.5vw; padding: 0; }
  #slider .portfo .bxport .txtL p br { display: none; }
  #slider .portfo .bxport .txtL .txt1 { font-size: 2.7vw; padding: 3vw 0 0; }
  #slider .inner { font-size: 3vw; top: 6%; }
  #slider .en { font-size: 2vw; }
  .box-btn { -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .box-btn a { width: 49%; margin: 0 2% 2% 0; }
  .box-btn a:nth-of-type(2n) { margin: 0 0 2%; }
  #bnr2 li { width: 100%; margin: 0 0 25px; }
  #info .contact a { width: 100%; margin: 0 0 15px; }
}

@media only screen and (max-width: 575px) { .table-sp { font-size: 2.85vw; }
  .table-sp tr td, .table-sp tr th { padding: 15px; } }

@media only screen and (max-width: 480px) { #top .group { margin: 0 0 80px; }
  .box-btn a { width: 100%; margin: 0 0 15px 0; height: 80px; line-height: 80px; font-size: 18px; }
  .box-btn a:nth-of-type(2n) { margin: 0 0 15px; }
  .box-btn a:before { width: 20px; height: 20px; }
  #info { padding: 55px 0; font-size: 14px; }
  #info .contact a { margin: 0 0 2vw; }
  #info .tit { font-size: 18px; margin: 0 0 6vw; }
  #info .txt { font-size: 19px; }
  #info .txt2 { margin: 0 0 6vw; }
  .table-sp { font-size: 3vw; }
  .table-sp tr td, .table-sp tr th { padding: 10px; }
  .table-sp tr th:first-child { width: 40%; }
  .business-info th, .business-info td { padding: 10px; } 
}

@media only screen and (max-width: 375px) { .table-sp { font-size: 3.3vw; } }
