@charset "UTF-8";
/* CSS Document */

/*メディアクエリ用記法*/
@media (min-width: 320px) {
}
@media (min-width: 360px) {
}
@media (min-width: 374px) {
}
@media (min-width: 414px) {
}
@media (min-width: 480px) {
}
@media (min-width: 600px) {
}
@media (min-width: 768px) {
}
@media (min-width: 980px) {
}

/*CSSをリセットする*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
}

/*フォント指定*/
@font-face {
font-family: 'Questrial';
  src: url('../font/Questrial-Regular.ttf') format('truetype');
font-weight: 400;
    font-style: normal;
}
/*rem用文字サイズ*/
html {font-size: 75%;}
@media (min-width: 980px) {
html {font-size: 62.5%;}
}

body{font-family:Questrial, "游ゴシック", "Yu Gothic", YuGothic,'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;-webkit-text-size-adjust: 100%;background-color:rgba(255,255,255,1);}

header,footer,main,nav,article,section{display:block;}/*IE用指定*/

img{border:none;}
/*clearfix*/
.clearfix:after {
  content: ""; 
  display: block; 
  clear: both;
}

/*小細工用*/
.spbr{display:inline;}
.pcbr{display:none;}
.txtright{text-align:right;}
.anchor_position{position:relative;top:-80px;}
@media (min-width: 980px) {
.spbr{display:none;}
.pcbr{display:inline;}
}

.inner{box-sizing:border-box;}



header{position:fixed;left:0px;top:0px;background-color:rgba(255,255,255,0.9);box-shadow: 0px 3px 8px 0px rgba(0,0,0,0.3);width:100%;height:80px;z-index:10000;}
header .inner{max-width:1200px;margin:0px auto;position:relative;height:80px;}
header h1,header .logobox{padding:12px 16px 2px;}
header h1 img,header .logobox img{width:168px;height:27px;}
header p.headerread{font-size:1.1rem;padding-left:16px;}


nav{position:fixed;background-color:rgba(240,240,240,0.7);right:-320px;top:0px;width:320px;height:100vh;color:rgba(0,0,0,1);overflow:auto;z-index:10000;transition:right 0.3s linear;}
nav.opennav{right:0px;}


.mainmenu{font-weight:400;margin:80px 40px 20px;padding:0px;letter-spacing:2px;}
.mainmenu li a{color:rgba(0,0,0,1);text-decoration:none;}
.mainmenu li{list-style-type:none;margin:0px;padding:0px;padding-bottom:1.4em;}
.mainmenu li{font-size:1.6rem;}
.mainmenu li>ul li{list-style-type:none;}


button.menubutton {-webkit-appearance: none;-moz-appearance: none;appearance: none;border: none;background: transparent;cursor:pointer;width: 32px;height: 32px;outline: none; position:fixed;right:22px;top:22px;display:block;z-index:10000;}
.p-hamburger {}
.p-hamburger__line {
  position: absolute;
  top: 0;right: 0;
  bottom: 0;left: 0;
  margin: auto; /* 親要素に対してど真ん中に配置 */
  width: 30px; /* お肉の幅 */
  height: 2px; /* お肉の高さ */
  background-color:rgba(0,0,0,1);  -webkit-transition:right 0.3s linear;transition:right 0.3s linear;}

.p-hamburger__line::before,
.p-hamburger__line::after {
  content: '';
  position: absolute;
  display: block;
  width: 100%;  height: 100%;
  background-color:rgba(0,0,0,1);
  -webkit-transition: inherit;transition: inherit;}
  
.p-hamburger__line::before {top: -15px;}
.p-hamburger__line::after {top: 15px;}

.p-hamburger__line.opennavline{background-color:transparent;}
.p-hamburger__line.opennavline::before{top:0px;transform: rotate(-45deg);}
.p-hamburger__line.opennavline::after{top:0px;transform: rotate(45deg);}

@media (min-width: 980px) {
header h1,header .logobox{padding:26px;}
header p.headerread{position:absolute;left:220px;top:30px;font-size:1.1rem;padding-left:0px;}
button.menubutton {display:none;}
nav{position:absolute;top:30px;right:0px;background-color:rgba(240,240,240,0);width:auto;height:auto;transition:none;}
.mainmenu{margin:0px;}
.mainmenu li{display:inline-block;padding:0px 14px;}
}


main{margin-left:auto;margin-right:auto;padding-top:80px;}
main .inner{max-width:1200px;margin:0px auto;}
main h1{padding:90px 10px;text-align:center;font-size:3.6rem;letter-spacing:0.4rem;}

main ul.partmenu{margin-top:-1rem;display:flex;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;border-bottom:1px solid rgba(155,155,155,1);padding-bottom:2px;}
main ul.partmenu li{list-style-type:none;font-size:1.4rem;margin:0px 10px;letter-spacing:0.2rem;}
main ul.partmenu li a{text-decoration:none;color:rgba(0,0,0,1);}

@media (min-width: 980px) {
main ul.partmenu li{margin:0px 50px;}
}




/*フッタ*/
footer{margin-left:auto;margin-right:auto;width:100%;z-index:2;border-top:1px solid rgba(155,155,155,1);}
footer .inner{max-width:1200px;margin:0px auto;padding:30px;position:relative;}
.footmenu{display:flex;flex-wrap:wrap;max-width:700px;}
.footmenu li a{color:rgba(0,0,0,1);text-decoration:none;}
.footmenu>li{list-style-type:none;font-size:1.4rem;width:50%;margin:0px 0px 1.6rem 0px;}
.footmenu_sub{}
.footmenu_sub>li{list-style-type:disc;margin:1rem 0px 1rem 1.6rem;font-size:1.1rem;}

footer p{font-size:1.1rem;margin:10px 0px 0px;letter-spacing:1px;}

@media (min-width: 768px) {
.footmenu>li{width:20%;}
}
@media (min-width: 980px) {
footer p{position:absolute;right:10px;top:22px;text-align:right;}
}



/*ページトップボタン*/
.button_pagetop{width:50px;height:50px;position:fixed;right:20px;bottom:20px;background-color:rgba(0,0,0,0.7);}
.button_pagetop a{position:relative;display:block;width:50px;height:50px;text-decoration:none;}
.button_pagetop a::before{content:"";width:0;height:0;position:absolute;margin:auto;top:-25px;right:0;left:0;bottom:0;border:12px solid transparent;border-bottom:13px solid rgba(255,255,255,1);}
.button_pagetop a::after{content:"TOP";font-size:13px;position:absolute;top:30px;bottom:0px;right:0;left:0;text-align:center;margin:auto;color:rgba(255,255,255,1);}

/*サービス*/
main.service_main{}
main.service_main h2 {font-size:1.4rem;color:rgba(23,115,51,1);text-align:center;letter-spacing:0.4rem;background-image:url(../service/images/icon_display.png);background-repeat:no-repeat;background-position:center 96px;padding:170px 10px 60px;background-size:57px 65px;}
main.service_main h2:before {content: attr(data-title) "\A";white-space: pre;font-size:1.6rem;}
main.service_main .inner{max-width:1000px;margin:0px auto;}
main.service_main article{border-top:1px solid rgba(155,155,155,1);}
main.service_main article:first-child{border:none;}
.servicebox{padding:20px;padding-bottom:80px;}
.servicebox.reversebox{-webkit-box-orient: horizontal;-webkit-box-direction: reverse;-ms-flex-direction: row-reverse;flex-direction: row-reverse;}
.servicebox div{padding-bottom:20px;}
.servicebox div img{width:100%;height:auto;}
.servicebox p{font-size:1.4rem;line-height:2.8rem;}

@media (min-width: 768px) {
main.service_main h2 {font-size:1.6rem;}
main.service_main h2:before {font-size:2.6rem;}
.servicebox{display:flex;}
.servicebox div{padding-bottom:0px;width:50%;box-sizing:border-box;padding-right:36px;}
.servicebox p{width:50%;box-sizing:border-box;padding-left:36px;}
.servicebox.reversebox div{padding-left:36px;padding-right:0px;}
.servicebox.reversebox p{padding-left:0px;padding-right:36px;}
}

/*アバウト*/
main.about_main{}
main.about_main h2 {font-size:1.8rem;text-align:center;letter-spacing:0.4rem;padding:50px 10px 25px;}
main.about_main article{border-top:1px solid rgba(155,155,155,1);}
main.about_main article:first-child{border:none;}

.aboutbox{padding:20px;}
.aboutbox div{padding-bottom:20px;text-align:center;}
.aboutbox div img{width:100%;height:auto;max-width:318px;}
.aboutbox p{font-size:1.4rem;line-height:2.8rem;margin:20px 0px;text-align:left;}

main.about_main dl{margin:0px auto;padding:10px;}
main.about_main dt{font-size:1.4rem;margin:16px 0px 4px;line-height:2.2rem;}
main.about_main dd{font-size:1.4rem;margin:4px 0px 16px;line-height:2.2rem;}
@media (min-width: 768px) {
main.about_main h2 {padding:90px 10px 45px;}
main.about_main article{padding-bottom:60px;}

.aboutbox{display:flex;margin:0px auto;max-width:900px;-webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;}
.aboutbox div{width:50%;}
.aboutbox p{font-size:1.5rem;line-height:4.5rem;}

main.about_main dl{display:flex;flex-wrap:wrap;width:450px;}
main.about_main dt{width:9rem;margin:16px 0px;line-height:3.6rem;}
main.about_main dd{width:calc(100% - 9rem);margin:16px 0px;line-height:3.6rem;}
}

/*リクルート*/
main.recruit_main{}
main.recruit_main .recruit_visual{background-image:url(../recruit/images/recruit_h2bg.jpg);background-position:center;text-align:center;}
main.recruit_main .recruit_visual h2{font-size:1.8rem;padding:20px 0px 6px;}
main.recruit_main .recruit_visual p{font-size:1.4rem;padding:6px 0px 20px;line-height:2.2rem;}

main.recruit_main h3{font-size:1.8rem;text-align:center;letter-spacing:0.4rem;padding:50px 10px 25px;}
main.recruit_main dl{margin:0px auto;padding:10px;}
main.recruit_main dt{font-size:1.4rem;margin:16px 0px 4px;line-height:2.2rem;}
main.recruit_main dd{font-size:1.4rem;margin:4px 0px 16px;line-height:2.2rem;}

.btn,
a.btn,
button.btn {font-size: 1.6rem;position: relative;display: inline-block;padding: 1rem 5rem;cursor: pointer;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;-webkit-transition: all 0.3s;transition: all 0.3s;text-align: center;vertical-align: middle;text-decoration: none;letter-spacing: 0.1em;}
.btn--green,
a.btn--green {
  color: #fff;
  background-color: rgba(23,115,51,1);
}
.btn--green:hover,
a.btn--green:hover {
  color: #fff;
  background: rgba(23,115,51,0.7);
}
main.recruit_main .buttonbox{text-align:center;padding:20px 0px 60px;}
@media (min-width: 768px) {
main.recruit_main dl{display:flex;flex-wrap:wrap;width:450px;}
main.recruit_main dt{width:9rem;margin:16px 0px;line-height:3.6rem;}
main.recruit_main dd{width:calc(100% - 9rem);margin:16px 0px;line-height:3.6rem;}
main.recruit_main .buttonbox{padding:20px 0px 130px;}
}


/*プライバシー*/
.privacy_main{}
.privacy_main .inner{max-width:900px;margin:0px auto;padding:20px;}
.privacy_main h2{text-align:center;font-size:1.8rem;}
.privacy_main p.policy_day{text-align:center;font-size:1.3rem;}

.privacy_main section{}
.privacy_main section section{}
.privacy_main section section h3{font-size:1.6rem;margin:40px 0px 10px;}
.privacy_main section section>ol{margin:10px 30px;}
.privacy_main section section>ol>li{font-size:1.3rem;line-height:2.4rem;margin:10px 0px;}
.privacy_main section section>ol>li>ol,.privacy_main section section>ol>li>ul{margin:10px 20px;}
.privacy_main section section>ol>li>ol>li,.privacy_main section section>ol>li>ul>li{font-size:1.3rem;line-height:2.4rem;margin:4px 0px;}

.privacy_main section section>dl{margin:10px 30px;}
.privacy_main section section>dl>dt{font-size:1.3rem;line-height:1.8rem;margin:10px 0px 4px;}
.privacy_main section section>dl>dd{font-size:1.3rem;line-height:1.8rem;margin:4px 0px 10px;}

@media (min-width: 768px) {
.privacy_main section section>dl{display:flex;flex-wrap:wrap;}
.privacy_main section section>dl>dt{width:10rem;margin:10px 0px;}
.privacy_main section section>dl>dd{width:calc(100% - 10rem);margin:10px 0px;}
}


/*トップページ*/

.visual_index{background-color:rgba(0,0,0,0.6);text-align:center;}
.visual_index img{width:100%;height:240px;max-width:1200px;object-fit:cover;vertical-align:bottom;}

.indexmain .news {margin:0px auto;max-width:500px;padding-bottom:30px;}
.indexmain .news h2{text-align:center;font-size:2.4rem;margin:60px 0px 30px;}
.indexmain .news h3{font-size:1.3rem;margin:10px;font-weight:normal;padding-right:20px;position:relative;}
.indexmain .news h3::after{content:"";width:0;height:0;position:absolute;top:50%;margin-top:-3px;right:0;border:6px solid transparent;border-top:7px solid rgba(0,0,0,1);}
.indexmain .news>div{border:1px solid rgba(100,100,100,1);margin:10px;padding:10px;display:none;}
.indexmain .news>div p{font-size:1.2rem;}


.service_index{background-color:rgba(227,227,227,1);text-align:center;padding-top:20px;margin-bottom:40px;}
.service_index .inner{max-width:1200px;margin:0px auto;}
.service_index figure{padding:0px 20px 20px 20px;max-width:400px;margin:0px auto;}
.service_index figure img{width:100%;height:auto;max-width:400px;}
.service_index figure figcaption{text-align:left;}
.service_index figure figcaption h4{font-size:1.6rem;padding:10px 0px;text-align:center;}
.service_index figure figcaption p{font-size:1.4rem;}
@media (min-width: 768px) {
.visual_index img{height:476px;}
.service_index{}
.service_index .inner{max-width:1200px;margin:0px auto;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;}
.service_index figure{max-width:270px;}
}