@charset "utf-8";

#loader{display: none;}

.pageheader {background-position: center center; background-repeat: no-repeat; background-size: cover; text-align: center;}
.pageheader span{font-size: 32px; font-family: "游明朝体", "Yu Mincho", YuMincho,'Noto Serif Japanese', "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif; color: #2b1a01; font-weight: bold; letter-spacing: 0.2em; width: 1184px; margin: 0 auto; text-align: left; line-height: 160px; display: block;}


main p{font-size: 17px;}
main table {width: 100%; background: #fff;}
main table td dl dt{font-weight: bold;}
main table td dl dd {zoom:1; overflow: hidden;}
main table td dl + dl {margin-top: 25px;}

main table.line {font-size: 17px; line-height: 1.8; border-bottom: 1px solid #cfcfcf;}
main table.line caption{ font-family: "游明朝体", "Yu Mincho", YuMincho,'Noto Serif Japanese', "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif; font-size: 20px; font-weight: bold; padding: 0 0 0 40px; letter-spacing: 0.2em; background: url(../img/icon-calendar.png) left center no-repeat; line-height: 24px; margin-bottom: 15px;}
main table.line th {font-weight: bold; width: 170px;}
main table.line th,
main table.line td {border-top:1px solid #cfcfcf; vertical-align: top; padding: 16px 0;}

main table.basic caption {font-size: 24px; font-weight: bold; margin-bottom: 20px;}
main table.basic th{background: #f6efe5; border: 1px solid #d4c3aa; padding: 7px 10px 3px; font-weight: bold; width: 220px; vertical-align: top; font-size:15px;}
main table.basic td{border: 1px solid #d4c3aa; padding: 10px 10px 3px;}
main table.basic td a {color: #8c7452;}
main table.basic td a:hover {text-decoration: none;}
main table.basic td span{line-height:2; font-size:85%;}

/************************************************************
		contact
************************************************************/
#contact .pageheader{background-image: url(/img/contact/mv.jpg);}
#contact #floatContact {display: none;}
#contact main section {padding: 60px 0 0; font-size: 16px; text-align: center;}
#contact main p {margin-bottom: 31px; font-size: 16px; line-height:2; text-align: left;}
#contact main table {margin-bottom: 20px; text-align: left;}
#contact main table th {vertical-align: middle;}
#contact main table td {padding: 20px;}
#contact main table td input,#contact main table td textarea {background: #eee; border: 1px solid #9d9d9d;}
#contact main table td input {width: 360px; height: 30px; padding: 0 4px;}
#contact main table td textarea{width: 860px; padding: 0 4px;}
#contact main button {color: #fff; background: #8c7452; border: 1px solid #9d9d9d; line-height: 1; margin: 0; padding: 0; width: 266px; height: 66px; font-size: 17px; font-weight: bold; transition: 0.5s;}
#contact main button:hover {opacity: 0.7;}


/********************************
    about
*********************************/
/* index */
#about #siteHeader li:nth-child(3) a {color: #8c7452;}
#about strong {color: #f69f08;}
#about.index main a,
#about.index .mv a{color: #f69f08; font-weight: bold; text-decoration: underline;}
#about.index main a:hover,
#about.index .mv a:hover{ text-decoration: none;}
#about.index .mv{background: #eee9e2; padding: 40px 0 0; text-align: center;}
#about.index .mv p {font-size: 17px; line-height: 1.8; width: 920px; margin: 0 auto; text-align: left; font-weight: bold; padding: 35px 0; letter-spacing: 0.12em;}
#about.index main section {padding: 64px 0 0;}
#about.index table {width: 572px; float: left;}
#about.index table + table {float: right;}
#about.index table caption {background-image: url(/img/icon-building.png);}
#about.index table + table caption {background-image: url(/img/icon-book.png);}
/* greeting */
#about.greeting main p {line-height: 1.8; letter-spacing: 0.1em;}
#about.greeting main p.writer{text-align: right; margin: 28px 0 0;}
#about.greeting main p.writer strong{color:#333}
#about.greeting section + section {position: relative; padding: 60px 0 0; margin-top: 60px;}
#about.greeting section + section::after{content: ''; background: #c3c3c3; width: 500%; height: 1px; position: absolute; left: 50%; top: 0; margin-left: -200%;}
/* idea */
#about.idea main section {border: 1px solid #c3c3c3; text-align: center; padding: 64px 0;}
#about.idea main section img {margin-bottom: 26px;}
#about.idea main h2 {color: #fb5a03; font-size: 20px; width: 960px; text-align: left; margin: 30px auto 2px; line-height: 1.8; font-weight: bold; position: relative; padding-left: 15px; letter-spacing: 0.1em;}
#about.idea main h2::after{content: ''; width: 10px; height: 10px; border-right: 3px solid #fb5a03; border-bottom: 3px solid #fb5a03; position: absolute; left: 0; top:0.6em; transform: rotate(-45deg)}
#about.idea main p {line-height: 1.8; width: 960px; text-align: left; margin: 0 auto; letter-spacing: 0.1em;}
/* privacy */
#about.privacy main h2 {font-weight: bold; font-size: 17px; line-height: 1.8; letter-spacing: 0.1em;}
#about.privacy main li {font-size: 17px; line-height: 1.8; padding-left: 1em; position: relative; letter-spacing: 0.1em;}
#about.privacy main li::before{content: '・'; position: absolute; left: 0; top: 0;}
#about.privacy main p {line-height: 1.8; letter-spacing: 0.1em;}
#about.privacy main p:last-of-type {text-align: right;}
#about.privacy main p + h2,
#about.privacy main p + ul,
#about.privacy main ul + p,
#about.privacy main ul + h2,
#about.privacy main p + p{padding-top: 30px;}
/* access */
#about.access main section {padding: 64px 0 0;}
#about.access h2{ font-family: "游明朝体", "Yu Mincho", YuMincho,'Noto Serif Japanese', "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif; font-size: 20px; font-weight: bold; letter-spacing: 0.2em; zoom:1; overflow: hidden; padding-left: 30px; background-position: left center; background-repeat: no-repeat; line-height: 24px; margin: 0 0 22px;}
#about.access p + h2,
#about.access ul + h2 {margin-top: 57px;}
#about.access h2:nth-of-type(1) {background-image: url(/img/about/icon-access03.jpg);}
#about.access h2:nth-of-type(2) {background-image: url(/img/about/icon-access02.jpg);}
#about.access h2:nth-of-type(3) {background-image: url(/img/about/icon-access01.jpg);}
#about.access main p,
#about.access main li{line-height: 1.8; letter-spacing: 0.1em; font-size: 17px; position: relative;}
#about.access main li {padding-left: 1em;}
#about.access main li::after{content: '・'; position: absolute; left: 0; top: 0;}
#about.access main a{color: #f69f08;}
/* info */
#about ul.infolist {padding:27px 30px; border: 1px solid #d4c3aa; background: #fff; font-size: 17px; letter-spacing: 0.1em; line-height: 1.8; margin-bottom:40px;}
#about ul.infolist span {background: red; width: 60px; display: inline-block; line-height: 27px; color: #fff; text-align: center; font-weight: bold; margin: 0 12px 0 0; border-radius: 3px;}
#about ul.infolist li + li {margin-top: 15px;}
#about ul.infolist li a {color: #8c7452; text-decoration: underline;}
#about ul.infolist li a:hover{text-decoration: none;}
#about .info p strong {margin-bottom:24px;}

/********************************
    facility
*********************************/
/* index */
#facility #siteHeader li:nth-child(4) a {color: #8c7452;}
#facility.index main p {line-height: 1.8;}
#facility.index .facility {position: relative; padding: 64px 0 0; margin:0; clear: both; border-top:64px solid #fff;} 
#facility.index .facility::after{content: ''; width: 500%; height: 1px; background: #c3c3c3; position: absolute; left: -200%; top: 0; clear: both; zoom:1;}
#facility.index .facility img {float: left; margin-right: 66px;border-radius:50%;} 
#facility.index h2{ font-family: "游明朝体", "Yu Mincho", YuMincho,'Noto Serif Japanese', "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif; font-size: 22px; font-weight: bold; letter-spacing: 0.2em; zoom:1; overflow: hidden; line-height: 100px;}
#facility.index .facility p{ line-height: 1.8; zoom:1; overflow: hidden;}
#facility.index .facility ul {display: flex; padding: 35px 0 0;}
#facility.index .facility li {font-size: 15px; padding: 0 40px 0 0; font-weight: bold; position: relative;}
#facility.index .facility a.arr {color:#fba603; padding-left: 26px;}
#facility.index .facility a.arr::after{content: ''; width: 15px; height: 15px; position: absolute; left: 3px; top: 0; background: #fba603; border-radius: 100%; z-index: 5; transition: 0.3s;}
#facility.index .facility a.arr::before{content: ''; width: 5px; height: 5px; border-bottom: 1px solid #fff; border-right:1px solid #fff; position: absolute; left: 3px; top: 0; z-index: 10; margin: 5px 0 0 4px; transform: rotate(-45deg);}
#facility.index .facility a[class*='blank'] {color: #fb5a03; padding-left: 30px; position: relative; font-weight: bold;}
#facility.index .facility a[class*='blank']::after{content: ''; width: 18px; height: 17px; border: 2px solid #fb5a03; position: absolute; left: 0; top: 0; border-top-width: 5px; z-index: 0; margin-top: -3px;}
#facility.index .facility a[class*='blank']::before{content: ''; width: 18px; height: 17px; border: 2px solid #fb5a03; position: absolute; left: 6px; top: 7px; border-top-width: 5px; background: #fff; z-index: 1; margin-top: -3px;}
#facility.index dl {margin-top: 20px;}
#facility.index dl::after{content: ''; clear: both; display: block;}
#facility.index dt {font-size: 17px; float: left; clear: left; padding: 17px 0;}
#facility.index dd {font-size: 15px; zoom:1; overflow: hidden; padding: 18px 0 18px 60px;}
/* outline*/
#facility.outline nav.tab{font-size: 15px; display: flex; align-items:flex-end; align-content:flex-end; width: 1184px; margin: 0 auto;}
#facility.outline nav.tab label {width: 169px; margin-right: 5px; cursor: pointer; padding: 12px 0 0;}
#facility.outline nav.tab label i {line-height: 52px; display: block; font-style: normal; font-weight: bold; background: #eee;}
#facility.outline nav.tab label:hover {background-color: #eee;}
#facility.outline input[type='radio'] {position: fixed; left: -1000px; top: -1000px;}
#facility.outline .content {display: none; width: 1184px; margin: 0 auto; border: 4px solid #ccc; text-align: left; padding:0 25px 48px;}
#facility.outline .content::after{content: ''; clear: both; display: block;}
#facility.outline .content .grid {width: 552px; float: left;}
#facility.outline .content .grid + .grid {float: right;}
#facility.outline #pog:checked ~ .content.pog,
#facility.outline #psm:checked ~ .content.psm,
#facility.outline #phm:checked ~ .content.phm,
#facility.outline #mnbgr:checked ~ .content.mnbgr{display: block;}
#facility.outline #houkatsu:checked ~ .content.houkatsu{display: block;}
#facility.outline #sumai:checked ~ .content.sumai{display: block;}
#facility.outline table.line caption {background: none; font-size: 20px; line-height: 1; margin: 20px 0 0; padding: 32px 0;}
#facility.outline table.line th,
#facility.outline table.line td {padding: 10px 0;}
/********************************
    recruit
*********************************/
/* index */
#recruit #siteHeader li:nth-child(5) a {color: #8c7452;}
#recruit .copy {background: url(/img/recruit/mv.jpg) center center no-repeat; padding: 90px 0 45px; background-size: cover;}
#recruit .copy div {background: rgba(255,255,255,0.8); width: 984px; margin: 0 auto; font-weight: bold; padding: 45px 45px 59px; color: #161515;}
#recruit .copy h2 {font-size: 40px; line-height: 1.8; letter-spacing: 0.2em; font-family: "游明朝体", "Yu Mincho", YuMincho,'Noto Serif Japanese', "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif; font-weight: bold; margin-bottom: 10px;}
#recruit .copy p {font-size: 17px; line-height: 1.8; letter-spacing: 0.11em;}
#recruit .copy header {text-align: center; border-bottom: 1px solid #f69f08; margin: 0 0 33px; padding-bottom: 29px;}
#recruit .copy header p {font-family: "游明朝体", "Yu Mincho", YuMincho,'Noto Serif Japanese', "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif; font-size: 22px; font-weight: bold; letter-spacing: 0.2em;}
#recruit.index nav.tab {font-size: 15px; display: flex; width: 1184px; margin: 64px auto 0;}
#recruit.index nav.tab label {cursor: pointer; padding: 15px 25px; width: 100%; background: rgba(0,0,0,0.5); transition: opacity 0.3s ease;}
#recruit.index nav.tab label:hover{opacity: 0.8;}
#recruit.index nav.tab label::after{content: ''; clear: both; display: block;}
#recruit.index nav.tab label img {float: left; margin: 0 15px 0 0;}
#recruit.index nav.tab label h3{font-size: 22px; line-height: 1; letter-spacing: 0.1em; font-family: "游明朝体", "Yu Mincho", YuMincho,'Noto Serif Japanese', "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif; font-weight: bold; color: #fff; padding: 50px 0 0; margin-bottom: 15px;}
#recruit.index nav.tab label b {color: #fff; padding-left: 26px; position: relative; display: inline-block;}
#recruit.index nav.tab label b::after{content: ''; width: 15px; height: 15px; position: absolute; left: 3px; top: 50%; background: #fff; border-radius: 100%; z-index: 5; transition: 0.3s; margin-top: -7.5px;}
#recruit.index nav.tab label b::before{content: ''; width: 5px; height: 5px; border-bottom: 1px solid #fff; border-right:1px solid #fff; position: absolute; left: 3px; top: 50%; z-index: 10; margin: -3px 0 0 4px; transform: rotate(-45deg);}
#recruit.index input[type='radio'] {position: fixed; left: -1000px; top: -1000px;}
#recruit.index .content {display: none; width: 1184px; margin: 20px auto 0; border: 2px solid #eee9e2; text-align: left; padding:20px 25px; border-radius: 10px;}
#recruit.index .content.index {display: block;}
#recruit.index .content::after{content: ''; clear: both; display: block; width: 0;
height: 0; transition: 0.5s ease-out;
border-style: solid;
border-width: 0 30px 45px 30px;
border-color: transparent transparent #fff transparent;
position: absolute; left: 50%; top: -43px; margin-left: -30px;
}
#recruit.index .content::before{content: ''; clear: both; display: block; width: 0;
height: 0; transition: 0.5s ease-out;
border-style: solid;
border-width: 0 30px 45px 30px;
border-color: transparent transparent #c3c3c3 transparent;
position: absolute; left: 50%; top: -44px; margin-left: -30px;
}
#recruit.index .content.index::after{top: -40px;}
#recruit.index .content.index::before{border-color: transparent transparent #eee9e2 transparent; top: -43px;}
#recruit.index #pog:checked ~ .content.pog,
#recruit.index #psm:checked ~ .content.psm,
#recruit.index #phm:checked ~ .content.phm,
#recruit.index #mnbgr:checked ~ .content.mnbgr,
#recruit.index #houkatsu:checked ~ .content.houkatsu,
#recruit.index #sumai:checked ~ .content.sumai{display: block; border-color: #c3c3c3; border-width: 1px; border-radius: 0; padding: 45px;}
#recruit.index #pog:checked ~ .content.index,
#recruit.index #psm:checked ~ .content.index,
#recruit.index #phm:checked ~ .content.index,
#recruit.index #mnbgr:checked ~ .content.index,
#recruit.index #houkatsu:checked ~ .content.index,
#recruit.index #sumai:checked ~ .content.index{display: none;}
#recruit.index #pog:checked ~ .content.pog::after,
#recruit.index #pog:checked ~ .content.pog::before{transform: translate(-392px,0);}
#recruit.index #phm:checked ~ .content.phm::after,
#recruit.index #phm:checked ~ .content.phm::before{transform: translate(392px,0);}
#recruit.index #mnbgr:checked ~ .content.mnbgr::after,
#recruit.index #mnbgr:checked ~ .content.mnbgr::before{transform: translate(392px,0);}
#recruit.index .content.index {min-height: 214px; }
#recruit.index .content.index img {float: left; margin-right: 25px; }
#recruit.index .content.index p {font-size: 20px; color: #43393d; font-weight: bold; line-height: 2; zoom:1; overflow: hidden; font-family: "游明朝体", "Yu Mincho", YuMincho,'Noto Serif Japanese', "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif; letter-spacing: 0.1em; padding: 22px 0 0;}
#recruit.index .content h2{font-size: 22px; line-height: 1; letter-spacing: 0.1em; font-family: "游明朝体", "Yu Mincho", YuMincho,'Noto Serif Japanese', "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif; font-weight: bold; color: #367ac6; padding:0; margin-bottom: 15px;}
#recruit.index .content .feature  + h2,
#recruit.index .content p + h2,
#recruit.index .content figure + h2{padding-top: 50px;}
#recruit.index #pog:checked ~ .content.pog p,
#recruit.index #psm:checked ~ .content.psm p,
#recruit.index #phm:checked ~ .content.phm p,
#recruit.index #mnbgr:checked ~ .content.mnbgr p{line-height: 1.8; letter-spacing: 0.05em;}
#recruit.index .content .feature {text-align: center; margin: 40px -45px 0;}
#recruit.index .content .feature div{display: inline-block; vertical-align: top; text-align: left; width: 350px; margin: 0 11px;}
#recruit.index .content .feature div img {width: 350px; height: auto;}
#recruit.index .content .feature div h3 {font-size: 20px; font-weight: bold; margin: 10px 0 12px;}
#recruit .joblist {border: 1px solid #c3c3c3; padding:1px 30px 30px; background: #fff; margin-top: 40px;}
#recruit .joblist p {padding: 29px 0 0;}
#recruit .joblist dl dt {font-size: 20px; font-weight: bold; margin-bottom: 17px; margin-top: 31px; color: #367ac6;}
#recruit .joblist dl dt:before{content: '■ '}
#recruit .joblist dl dd {position: relative; padding-bottom: 2px; font-size: 17px;}
#recruit .joblist dl dd a {display: block; padding: 0 0 0 20px; text-decoration: none; position: relative; line-height: 30px;}
#recruit .joblist dl dd a:before{content: '';width: 0; height: 0; border-style: solid; border-width: 5px 0 5px 5px; border-color: transparent transparent transparent #f49127; position: absolute; left: 10px; top: 50%; margin-top: -5px;}
#recruit .joblist dl dd:after{content: '詳細'; width: 60px; line-height: 26px; position: absolute; right: 0; top: 2px; font-size:15px; color: #fff; text-align: center; z-index: 20;}
#recruit .joblist dl dd:before{content: ''; width: 60px; height: 26px; position:  absolute; right: 0; top: 2px; background: #ad9776; border-radius: 3px; z-index: 20; transition: 0.5s;}
#recruit .joblist dl dd a:hover {background: #f3ebe6;}
#recruit .joblist dl dd:hover:before {background: #ccc;}
/* training */
#recruit.training main p {font-size: 17px; line-height: 1.8;}
/* voice */
#recruit .staffBox {clear: both; zoom:1; font-size: 17px; line-height: 1.8;}
#recruit .staffBox:after{content: ''; clear: both; display: block;}
#recruit .staffBox .staff{border-top:1px solid #c3c3c3; padding: 40px 0 31px; clear: both; zoom:1;}
#recruit .staffBox .staff:after{content: ''; clear: both; display: block;}
#recruit .staffBox .staffUser{float: left;}
#recruit .staffBox .staffUser img {float: left; margin-right: 66px; border:none;important!} 

#recruit .staffBox .qa {zoom:1; overflow: hidden; padding: 0 0 0 40px; margin-top: -15px;}
#recruit .staffBox .qa h3 {font-size: 18px; font-weight: bold; zoom:1; overflow: hidden; margin-bottom:16px; padding-top:32px;}

#recruit .staffBox .qa a{color: #8c7452; text-decoration: underline;}
#recruit .staffBox .qa a:hover {text-decoration: none;}
#recruit .staffBox .qa dt {background: url(/img/recruit/iconQ.png) left top no-repeat; padding-left: 32px; line-height: 30px; margin:15px 0 0; font-weight: bold;}
#recruit .staffBox .qa dd.ans {display: none; background:url(/img/recruit/iconA.png) left 5px no-repeat; padding:5px 0 0 32px; margin: 0 0 20px;}

@media screen and (min-width:641px){
/*

	PC STYLE

**************************************************************/

.ln {width: 100%; margin: 0; position: relative; z-index: 10; border-top: 1px solid #cfcfcf; border-bottom: 1px solid #cfcfcf;}
.ln ul {width: 1184px; margin: 0 auto; border-left:1px solid #cfcfcf;}
.ln li {position: relative; width:170px; border-right:1px solid #cfcfcf; display: inline-block; vertical-align: top;}
.ln li a{transition:background 0.3s; position: relative; display: block; font-size: 16px; line-height: 40px; font-weight: bold; text-align: center;}
.ln ul li a.active {background-color: #d8cab5;}


.pc-item {display: inline-block;}
br.sp{display:none;}
}

@media screen and (min-width:1100px){}
@media screen and (min-width:1920px){}
@media screen and (max-width:640px){
/*

	SP STYLE

**************************************************************/
#logo {position: fixed;}
#logo::after{content: ''; background: #c3c3c3; width: 100%; height: 1px; position: absolute; left: 0; bottom: 0;}
.pageheader {background-position: center right;}
.pageheader span{font-size: 1.6rem; padding: 0 3rem; text-align: center; width: auto; line-height: 7.3rem;}

.ln {width: 100%; z-index: 2000; position: fixed; left: 0; bottom: -6rem; transition: 0.5s ease;}
.ln.show {bottom: 0;}
.ln.show.end {bottom: -6rem;}
.ln ul {background: #111; font-size: 1rem; display: flex; line-height: 1.6;}
.ln ul li {width: 100%; text-align: center; font-weight: bold;}
.ln ul li + li {border-left:1px solid #fff;}
.ln ul a{display: block; color: #ece8e1; height: 5.75rem; padding: 33px 0 0;}
#about .ln ul li:nth-child(4) a,
#about .ln ul li:nth-child(5) a{padding-top: 21px;}

main p{font-size: 1rem;}

main table td dl + dl {margin-top: 2rem;}

main table.line {font-size: 1rem; width: 100%; border-bottom: none;}
main table.line caption{font-size: 1.2rem; padding: 0 0 0 1.75rem; letter-spacing: 0.2em; line-height: 1.5rem; background-size: 1.2rem auto; margin-bottom: 0.75rem;}
main table.line th {width: 6.5rem;}
main table.line th,
main table.line td {padding: 1.1rem 0;}

#siteFooter {z-index: 2001;}

/************************************************************
		contact
************************************************************/
#contact main section {padding: 3.2rem 0 0; font-size: 1.1rem;}
#contact main p {margin-bottom: 1.5rem; font-size: 1.1rem;}
#contact main table {margin-bottom:1rem; text-align: left; margin-top: 2rem;}
#contact main table td {padding: 1rem;}
#contact main table td input {width: 100%; height: 2rem; padding: 0 0.4rem;}
#contact main table td textarea{width: 100%; padding: 0 0.4rem;}
#contact main button {color: #fff; background: #8c7452; border: 1px solid #9d9d9d; line-height: 1; margin: 0; padding: 0; width: 18rem; height: 4.3rem; font-size: 1.4rem;}


    
/********************************
    about
*********************************//* index */
#about.index .mv{padding: 2rem 2rem 0;}
#about.index .mv img {width: 100%; height: auto;}
#about.index .mv p {font-size: 1rem; padding: 1.5rem 0; width: auto;}
#about.index main section {padding: 3.2rem 0 0;}
#about.index table {width: 100%; float: none;}
#about.index table + table {float: none; margin-top: 3.5rem;}
/* greeting */
#about.greeting main p.writer{margin: 2rem 0 0;}
#about.greeting section + section {padding: 3rem 0 0; margin-top: 3rem;}
/* idea */
#about.idea main section {padding: 2rem 2rem;}
#about.idea main section img {margin-bottom: 0rem;}
#about.idea main h2 {color: #fb5a03; font-size: 1.1rem; width: auto; margin: 1.5rem auto 0.1rem;}
#about.idea main p {width: auto;}
/* privacy */
#about.privacy main h2 {font-size: 1.1rem;}
#about.privacy main li {font-size: 1rem;}
#about.privacy main p + h2,
#about.privacy main p + ul,
#about.privacy main ul + p,
#about.privacy main ul + h2,
#about.privacy main p + p{padding-top: 1.5rem;}
/* access */
#about.access main section {padding: 3.2rem 0 0;}
#about.access h2{ font-size: 1.1rem; line-height: 1.4rem; margin: 0 0 0.6rem; padding-left: 1.75rem; background-size: auto 1.4rem;}
#about.access p + h2,
#about.access ul + h2 {margin-top: 2.65rem;}
#about.access main p,
#about.access main li{font-size: 1rem;}
/* info */
#about ul.infolist {padding:1rem; margin: 0; font-size: 1.1rem;}
#about ul.infolist li {position: relative; padding-left: 4.2rem; min-height: 1.8rem;}
#about ul.infolist span {width:3.2rem; line-height: 1.8rem; margin: 0 1rem 0 0; font-size: 0.9rem; position: absolute; left: 0; top: 0;}
#about ul.infolist li + li {margin-top: 1rem;}
/********************************
    facility
*********************************/
/* index */
#facility.index .facility {padding: 3.2rem 0 0; border: none; margin-top: 3.2rem;} 
#facility.index .facility img {float:none; margin-right:0; width: 16.9rem; margin: 0 auto; display: block;} 
#facility.index h2{font-size: 1.2rem; line-height: 5rem;}
#facility.index .facility ul {display: flex; padding: 0 0; border: 1px solid #c3c3c3; margin-top: 1.75rem;}
#facility.index .facility li {font-size: 1rem; padding: 0 0 0 0; font-weight: bold; position: relative; width: 50%; text-align: center;}
#facility.index .facility li + li {border-left:1px solid #c3c3c3;}
#facility.index .facility a.arr {color:#fba603; padding-left: 26px; display: inline-block; position: relative; line-height: 3.2rem;}
#facility.index .facility a.arr::after{content: ''; width: 15px; height: 15px; position: absolute; left: 3px; top: 50%; background: #fba603; border-radius: 100%; z-index: 5; transition: 0.3s; margin-top: -7px;}
#facility.index .facility a.arr::before{content: ''; width: 5px; height: 5px; border-bottom: 1px solid #fff; border-right:1px solid #fff; position: absolute; left: 3px; top: 50%; z-index: 10; margin: -2px 0 0 4px; transform: rotate(-45deg);}
#facility.index .facility a[class*='blank']  {line-height: 3.2rem; padding-left: 1.6rem}
#facility.index .facility a[class*='blank']::after{content: ''; width: 0.9rem; height: 0.75rem; border: 1px solid #fb5a03; position: absolute; left: 0; top: 0; border-top-width: 2.5px; z-index: 0; margin-top: 0;}
#facility.index .facility a[class*='blank']::before{content: ''; width: 0.9rem; height: 0.75rem; border: 1px solid #fb5a03; position: absolute; left: 0.3rem; top: 0.35rem; border-top-width: 2.5px; background: #fff; z-index: 1; margin-top: 1px;}
#facility.index dl {margin-top: 2rem;}
#facility.index dt {font-size: 1.1rem; float: none; padding: 1rem 0 0;}
#facility.index dd {font-size: 1rem; padding: 0;}
/* outline*/
#facility.outline nav.tab{font-size: 1rem; width: 100%;overflow-x: scroll; white-space: nowrap;}
#facility.outline nav.tab label {width: 100%; padding: 0.6rem 0 0; margin-right: 3px;}
#facility.outline nav.tab label i {line-height: 2.6rem;padding: 0 .6rem;}
#facility.outline .content {width: auto; margin: 0 auto; border: 2px solid #ccc; text-align: left; padding:0 1.2rem 2.4rem;}
#facility.outline .content .grid {width: auto; float: none;}
#facility.outline .content .grid + .grid {float: none;}
#facility.outline table.line caption {font-size: 1.2rem; margin: 1rem 0 0; padding: 1.5rem 0; line-height: 1.3;}
#facility.outline table.line th,
#facility.outline table.line td {padding: 1rem 0;}
/********************************
    recruit
*********************************/
/* index */
#recruit .copy {background: url(/img/recruit/mv-sp.jpg) center center no-repeat; padding: 4.8rem 2rem 2rem; background-size: cover;}
#recruit .copy div {width:auto; padding: 2.5rem 1rem;}
#recruit .copy h2 {font-size: 2rem; line-height: 1; margin-bottom: 0;}
#recruit .copy p {font-size: 1rem;}
#recruit .copy header {text-align: center; margin: 0 0 1.4rem; padding-bottom: 1.45rem;}
#recruit .copy header p {font-size: 1.1rem; margin: 1.4rem 0 0;}

#recruit.index nav.tab {font-size: 0.8rem; display: flex; width: auto; margin: 2.7rem auto 0;}
#recruit.index nav.tab label {cursor: pointer; padding: 0.75rem 0; width: 100%; background: rgba(0,0,0,0.5); text-align: center;}
#recruit.index nav.tab label img {float: none; width: 7.8rem; display: block; margin: 0 auto;}
#recruit.index nav.tab label h3{font-size:1.2rem; padding: 1rem 0 0; margin-bottom: 0.75rem;}
#recruit.index nav.tab label b::before{margin: -2px 0 0 4px;}

#recruit.index .content {display: none; width: 100%; margin: 0.9rem auto 0; border: 2px solid #eee9e2; text-align: left; padding:1rem; border-radius: 0.5rem;}
#recruit.index .content::after{content: ''; clear: both; display: block; width: 0;
height: 0; border-style: solid; border-width: 0 1.5rem 2.25rem 1.5rem;
border-color: transparent transparent #fff transparent;
position: absolute; left: 50%; top: -2.1rem; margin-left: -1.5rem;
}
#recruit.index .content::before{content: ''; clear: both; display: block; width: 0;
height: 0; border-style: solid; border-width: 0 1.5rem 2.25rem 1.5rem;
border-color: transparent transparent #c3c3c3 transparent;
position: absolute; left: 50%; top: -2.22rem; margin-left: -1.5rem;
}
#recruit.index .content.index::after{top: -2rem;}
#recruit.index .content.index::before{border-color: transparent transparent #eee9e2 transparent; top: -2.22rem;}
#recruit.index #pog:checked ~ .content.pog,
#recruit.index #psm:checked ~ .content.psm,
#recruit.index #phm:checked ~ .content.phm{display: block; padding: 1rem;}
#recruit.index #pog:checked ~ .content.index,
#recruit.index #psm:checked ~ .content.index,
#recruit.index #phm:checked ~ .content.index{display: none;}
#recruit.index #pog:checked ~ .content.pog::after,
#recruit.index #pog:checked ~ .content.pog::before{transform: translate(-10.6rem,0);}
#recruit.index #phm:checked ~ .content.phm::after,
#recruit.index #phm:checked ~ .content.phm::before{transform: translate(10.6rem,0);}
#recruit.index #mnbgr:checked ~ .content.mnbgr::after,
#recruit.index #mnbgr:checked ~ .content.mnbgr::before{transform: translate(10.6rem,0);}
#recruit.index .content.index {min-height:inherit;}
#recruit.index .content.index img {float: none; margin-right: 0; }
#recruit.index .content.index p {font-size: 1rem; padding: 1rem 0 0; line-height: 2; letter-spacing: 0.2em;}

#recruit.index .content h2{font-size: 1.2rem; padding:  0 0rem;}
#recruit.index .content .feature  + h2,
#recruit.index .content p + h2,
#recruit.index .content figure + h2{padding-top: 1.5rem;}
#recruit.index #pog:checked ~ .content.pog p,
#recruit.index #psm:checked ~ .content.psm p,
#recruit.index #phm:checked ~ .content.phm p,
#recruit.index #mnbgr:checked ~ .content.mnbgr p{line-height: 1.8; letter-spacing: 0.05em; font-size: 1rem;}
#recruit.index .content .feature {margin: 2rem 0 4rem; text-align: center;}
#recruit.index .content .feature div {display: block; margin: 0  auto; width: auto;}
#recruit.index .content .feature div + div {margin-top: 2rem; padding-top: 2.2rem; position: relative;}
#recruit.index .content .feature div + div::after{content: ''; width: 100%; height: 1px; background: #c3c3c3; position: absolute; left: 0; top: 0;}
#recruit.index .content .feature div h3 {font-size: 1.1rem; font-weight: bold; margin: 1.2rem 0 0.8rem; text-align: center;}
#recruit.index .content .feature div p {text-align: left;}
#recruit.index .content .feature div img {width: 25rem; display: block; margin: 0 auto;}
#recruit .joblist {padding:1px 1rem 1rem; margin-top: 2rem;}
#recruit .joblist p {padding: 1rem 0 0;}
#recruit .joblist dl dt {font-size: 1.1rem; font-weight: bold; margin-bottom: 0.7rem; margin-top: 1.6rem;}
#recruit .joblist dl dd {padding:0 3.5rem 0.3rem 0; font-size: 1rem;}
#recruit .joblist dl dd a {display: block; padding: 0 0 0 1rem; text-decoration: none; position: relative; line-height: 1.5rem;}
#recruit .joblist dl dd a:before{content: '';width: 0; height: 0; border-style: solid; border-width: 5px 0 5px 5px; border-color: transparent transparent transparent #f49127; position: absolute; left: 0.1rem; top: 0; margin-top: 0.3rem;}
#recruit .joblist dl dd:after{content: '詳細'; width: 3rem; line-height: 1.3rem; position: absolute; right: 0; top: 0; font-size:0.9rem;}
#recruit .joblist dl dd:before{content: ''; width: 3rem; height: 1.3rem; position:  absolute; right: 0; top: 0; background: #ad9776; border-radius: 3px; z-index: 20; transition: 0.5s;}
/* training */
#recruit.training main p {font-size: 1rem;}
/* voice */
#recruit .staffBox {font-size: 1rem;}
#recruit .staffBox .staff{padding:2rem 0 1.5rem;}
#recruit .staffBox .staffUser figure{margin-bottom: 1rem; width: 11rem;}
#recruit .staffBox .staffUser img {width: 11rem; margin-right: 0rem;}
#recruit .staffBox .staffUser dl {font-size: 0.9rem; width: 11rem; line-height: 1.4;}
#recruit .staffBox .qa h3 {font-size: 1rem; font-weight: bold; zoom:1; overflow: hidden; margin-bottom:2.2vw; padding-top:2.2vw;}
#recruit .staffBox .qa {padding: 0 0 0 1.5rem; margin-top: -1rem;}
#recruit .staffBox .qa dt {background-size: 1.6rem; padding-left: 2rem; line-height:1.6rem; margin-top: 1rem;}
#recruit .staffBox .qa dd.ans {background-size: 1.6rem; padding:0.5rem 0 0 2rem; margin: 0 0 1rem; background-position: 0 0.5rem;}

.sp-item {display: inline-block;}

#facility.outline nav.tab label:nth-child(2) i,#facility.outline nav.tab label:nth-child(3) i,
#facility.outline nav.tab label:nth-child(4) i,#facility.outline nav.tab label:nth-child(5) i,
#facility.outline nav.tab label:nth-child(6) i{line-height: 20px;height: 52px;padding-top: 8px;}

}


/**
    事業所カラー
**/
#recruit.index .content.pog h2,
#recruit.index .content.pog .joblist dl dt,
#facility.index .facility img[src*='pog'] + h2,
.content.pog table.line caption{color: #fba603;}
#facility.outline #pog:checked ~ nav.tab label:nth-child(1),
#facility.outline #pog:checked ~ nav.tab label:nth-child(1) i{background-color: #fba603; color: #fff;}
#recruit.index nav.tab label[for='pog'] {background: rgba(251,166,3,0.8);}
#recruit.index nav.tab label[for='pog'] b::before,
#facility.outline .content {border-color: #fba603;}

#recruit.index .content.psm h2,
#recruit.index .content.psm .joblist dl dt,
#facility.index .facility img[src*='psm'] + h2,
.content.psm table.line caption {color: #49b806;}
#facility.outline #psm:checked ~ nav.tab label:nth-child(2),
#facility.outline #psm:checked ~ nav.tab label:nth-child(2) i{background-color: #49b806; color: #fff;}
#recruit.index nav.tab label[for='psm'] {background: rgba(73,184,6,0.8);}
#recruit.index nav.tab label[for='psm'] b::before,
#facility.outline .content.psm {border-color: #49b806;}

#recruit.index .content.phm h2,
#recruit.index .content.phm .joblist dl dt,
#facility.index .facility img[src*='phm'] + h2,
.content.phm table.line caption {color: #0459b8;}
#facility.outline #phm:checked ~ nav.tab label:nth-child(3),
#facility.outline #phm:checked ~ nav.tab label:nth-child(3) i{background-color: #0459b8; color: #fff;}
#recruit.index nav.tab label[for='phm'] {background: rgba(4,89,184,0.8);}
#recruit.index nav.tab label[for='phm'] b::before,
#facility.outline .content.phm {border-color: #0459b8;}

#recruit.index .content.funbuilding h2,
#recruit.index .content.funbuilding .joblist dl dt,
#facility.index .facility img[src*='funbuilding'] + h2,
.content.funbuilding table.line caption {color: #fb03ac;}
#facility.outline #funbuilding:checked ~ nav.tab label:nth-child(4),
#facility.outline #funbuilding:checked ~ nav.tab label:nth-child(4) i{background-color: #fb03ac; color: #fff;}
#recruit.index nav.tab label[for='funbuilding'] {background: rgba(251,3,172,0.8);}
#recruit.index nav.tab label[for='funbuilding'] b::before,
#facility.outline .content.funbuilding {border-color: #fb03ac;}

#recruit.index .content.mnbgr h2,
#recruit.index .content.mnbgr .joblist dl dt,
#facility.index .facility img[src*='mnbgr'] + h2,
.content.mnbgr table.line caption {color: #539a35;}
#facility.outline #mnbgr:checked ~ nav.tab label:nth-child(4),
#facility.outline #mnbgr:checked ~ nav.tab label:nth-child(4) i{background-color: #539a35; color: #fff;}
#recruit.index nav.tab label[for='mnbgr'] {background: rgba(83,154,53,0.8);}
#recruit.index nav.tab label[for='mnbgr'] b::before,
#facility.outline .content.mnbgr {border-color: #539a35;}

#recruit.index .content.houkatsu h2,
#recruit.index .content.houkatsu .joblist dl dt,
#facility.index .facility img[src*='houkatsu'] + h2,
.content.houkatsu table.line caption {color: #db5424;}
#facility.outline #houkatsu:checked ~ nav.tab label:nth-child(5),
#facility.outline #houkatsu:checked ~ nav.tab label:nth-child(5) i{background-color: #db5424; color: #fff;}
#recruit.index nav.tab label[for='houkatsu'] {background: rgba(219,84,36,0.8);}
#recruit.index nav.tab label[for='houkatsu'] b::before,
#facility.outline .content.houkatsu {border-color: #db5424;}

#recruit.index .content.sumai h2,
#recruit.index .content.sumai .joblist dl dt,
#facility.index .facility img[src*='sumai'] + h2,
.content.sumai table.line caption {color: #db4d52;}
#facility.outline #sumai:checked ~ nav.tab label:nth-child(6),
#facility.outline #sumai:checked ~ nav.tab label:nth-child(6) i{background-color: #db4d52; color: #fff;white-space:nowrap;}
#recruit.index nav.tab label[for='sumai'] {background: rgba(219,77,82,0.8);}
#recruit.index nav.tab label[for='sumai'] b::before,
#facility.outline .content.sumai {border-color: #db4d52;}

@media screen and (min-width: 641px) {
#facility.outline nav.tab label:nth-child(6){width:220px;white-space:nowrap;}
#facility.outline #sumai:checked ~ nav.tab label:nth-child(6),
#facility.outline #sumai:checked ~ nav.tab label:nth-child(6) i{width:220px;white-space:nowrap;}
}