body { margin:0; padding:0; font-family: 'Shippori Mincho', serif; font-feature-settings : "pkna"; font-size:16px; line-height:200%; letter-spacing : 0.1em; font-weight:normal; color:#331111; background-color: #FFF;}
p, li { text-align:justify; text-justify:inter-ideograph;}
strong, b { font-weight:bold;}
em { font-style:normal;}
hr { width:100%; display: block; overflow: hidden; border-top:1px solid #331111; box-sizing: border-box;}
th { font-weight:normal;}
a { text-decoration: underline;}
a:link, a:active {}
a:hover, a:visited:hover { color:#660000;}
a:visited {}
caption {}

.en { font-family: 'Jost', sans-serif; letter-spacing: 0.12em;}

.clearfix:after { font-size:1px; content:"."; display:block; height:0; clear:both; visibility:hidden; }
.clearfix { zoom:1;}

.red { color:#C00;}
.bold { font-weight: bold;}
.text-L { text-align: left;}
.text-C { text-align: center;}
.text-R { text-align: right;}
.f16 { font-size:16px; line-height:200%;}

.tabPhoneOnly { display: none;}
.phoneOnly { display: none;}

.winsize { display:none;}


/* delighter -----*/
/* 基本のスタイル */
.foo.delighter {
transition: all 0.3s ease-out;
opacity: 0;
}

/* スタート時のスタイル */
.foo.delighter.started {
transform: none !important;
opacity: 1 !important;
filter: none !important;
}


div.wrap {}


/* header(PC) --------------------*/
div.header-teaser-wrap { width:100%; display: block; overflow: hidden;ox-sizing: border-box;}
div.header-teaser-wrap header { width:calc(100% - 80px); margin:0 auto; padding:60px 0; display: block; overflow: hidden; box-sizing: border-box;}
div.header-teaser-wrap header h1 {}
div.header-teaser-wrap header h1 a { width:150px; height:120px; margin:0 auto; display: block; overflow: hidden; text-indent: -9999px; background: url("../images/teaser/bg_h1_logo@2x.png") no-repeat; background-size: auto 100%; box-sizing: border-box;}

div.mainimg { width:calc(100% - 100px); max-width:1300px; margin:0 auto 120px; display: block; box-sizing: border-box; position: relative;}
div.mainimg img.illust { width:100%; height:auto; display: block; overflow: hidden; object-fit: cover; box-sizing: border-box;}
div.mainimg a.bnr-kokuchi-camp { width:100%; max-width:400px; height:80px; display: block; overflow: hidden; text-indent: -9999px; background:url("../images/bg_bnr_kokuchi_camp@2x.png") calc(50% - 10px) center no-repeat, url("../images/bg_btn_listmark02_under_white@2x.png") calc(100% - 15px) center no-repeat #CC0000; background-size: auto 60px, auto 6px; box-sizing: border-box; position: absolute; bottom:-40px; left:50%; transform: translateX(-50%); z-index: 10; transition:all 0.3s ease;}
div.mainimg a.bnr-kokuchi-camp:hover { background-color: #993300;}



/* contents(PC) --------------------*/
div.contents { width:calc(100% - 100px); max-width:1080px; margin:0 auto 200px; display: block; overflow: hidden; box-sizing: border-box;}

div.contents section.teaser { width:100%; max-width:1000px; margin:0 auto; display: block; overflow: hidden; box-sizing: border-box;}

div.contents section.teaser p.special  { width:100%; max-width:816px; margin:0 auto 60px; padding:24px 0; border-top:1px solid #331111; border-bottom:1px solid #331111; display: block; overflow: hidden; font-size:20px; line-height:180%; text-align: center; box-sizing: border-box;}

div.contents section.teaser h2.teaser-title { margin:0 0 100px; text-align: center; font-size:32px; line-height:180%; letter-spacing: 0.2em;}
div.contents section.teaser h2.teaser-title span.en { font-size:18px; line-height:180%; letter-spacing: 0.2em;}
div.contents section.teaser h2.teaser-title span.subTitle { margin:0 0 0 12px;}

div.contents section.teaser ul.contentsList { width:100%; display: block; overflow: hidden; box-sizing: border-box;}
div.contents section.teaser ul.contentsList > li { padding:40px 0; border-bottom:1px dotted #331111; display: block; overflow: hidden; box-sizing: border-box;}
div.contents section.teaser ul.contentsList > li:first-of-type {}
div.contents section.teaser ul.contentsList > li:last-of-type { margin-bottom:0; padding-bottom:0; border-bottom:none;}
div.contents section.teaser ul.contentsList > li h3 { margin:0 0 16px; font-size:22px; line-height:180%;}
div.contents section.teaser ul.contentsList > li p.recruiting { margin:0 0 28px; line-height:160%; color:#CC0000;}
div.contents section.teaser ul.contentsList > li p.recruiting span { float:left; width:96px; margin:0 20px 0 0; padding:3px 0; display: block; overflow: hidden; text-align: center; font-size:16px; line-height:140%; color: #FFFFFF; background-color: #CC0000; box-sizing: border-box;}
div.contents section.teaser ul.contentsList > li p.explain { width:100%; display: block; overflow: hidden; box-sizing: border-box;}
div.contents section.teaser ul.contentsList > li table.data { width:100%; margin:0 0 24px; display: block; overflow: hidden; font-size:16px; line-height:180%; border-collapse:collapse; box-sizing: border-box;}
div.contents section.teaser ul.contentsList > li table.data caption { margin:0 0 24px; font-size:18px; line-height:160%;}
div.contents section.teaser ul.contentsList > li table.data tr {}
div.contents section.teaser ul.contentsList > li table.data tr th { width:140px; padding:24px 16px; border:1px solid #331111; vertical-align: top; box-sizing: border-box;}
div.contents section.teaser ul.contentsList > li table.data tr td { width:calc(100% - 140px); padding:24px 16px; border:1px solid #331111; box-sizing: border-box;}
div.contents section.teaser ul.contentsList > li table.data tr td > ul { width:100%; display: block; overflow: hidden; box-sizing: border-box;}
div.contents section.teaser ul.contentsList > li table.data tr td > ul > li { width:100%; margin:0 0 12px; display: block; overflow: hidden; box-sizing: border-box;}
div.contents section.teaser ul.contentsList > li table.data tr td > ul > li:last-of-type { margin-bottom:0;}
div.contents section.teaser ul.contentsList > li table.data tr td > ul > li h4 { margin:0 0 2px; font-size:18px; line-height:140%;}
div.contents section.teaser ul.contentsList > li table.data tr td > ul > li h4 span { font-size:16px; line-height:140%;}
div.contents section.teaser ul.contentsList > li table.data tr td > ul > li p { margin:0;}

div.contents section.teaser ul.contentsList li a.btn { width:100%; max-width:400px; height:60px; margin:0 auto 12px; display: block; overflow: hidden; text-decoration: none; text-align: center; font-size:18px; line-height:160%; color:#FFF; background:url("../images/bg_btn_listmark_white@2x.png") calc(100% - 20px) center no-repeat; background-color: #116644; background-size: 6px auto; box-sizing: border-box; position: relative; transition:all 0.3s ease;}
div.contents section.teaser ul.contentsList li a.btn:hover { background-color: #993300;}
div.contents section.teaser ul.contentsList li a.btn span { width:100%; position: absolute; top:calc(50% - 1px); left:0; transform: translateY(-50%);}



/* footer(PC) --------------------*/
a.btn-pagetop { opacity: 0; width:50px; height:50px; display: block; overflow: hidden; text-indent: -9999px; background: url("../images/bg_pagetop@2x.png") center center no-repeat #331111; background-size: 18px auto; box-sizing: border-box; position:fixed; bottom:0; right:-50px; transition:all 0.3s ease;}
a.btn-pagetop.fixed { opacity: 1.0; right:0;}

div.footer-wrap { width:calc(100% - 100px); margin:0 auto; padding:80px 2px; border-top:1px solid #331111; display: block; box-sizing: border-box; position: relative;}
footer { width:100%; display: block; overflow: hidden; box-sizing: border-box; position: relative;}
footer h1 { margin:0 0 36px; font-size:16px; line-height: 180%; letter-spacing: 0.4em;}
footer h1 span { margin:0 4px; font-size:24px; line-height: 180%;}
footer address { margin:0 0 36px;}
footer div.policyList { margin:0; display: block; overflow: hidden; box-sizing: border-box;}
footer div.policyList ul { line-height:180%; display: block; overflow: hidden; box-sizing: border-box;}
footer div.policyList ul li { float:left; padding:0 16px 0 0; display: block; overflow: hidden; box-sizing: border-box;}
footer div.policyList ul li:last-of-type { padding-right:0;}
footer div.policyList ul li::after { content:""; float:left; width:1px; height:12px; margin:10px 16px 0 0; display: block; overflow: hidden; background-color: #331111; box-sizing: border-box;}
footer div.policyList ul li:first-of-type::after { margin-right:0; display: none;}

footer p.copylight { position: absolute; bottom:0; right:0;}
footer p.copylight a {}



/* PC ONLY ++++++++++++++++++++ */
@media screen and (min-width:1081px){
/* header(PC1081-max) --------------------*/

}



/* タブレット−1 ++++++++++++++++++++ */
@media screen and (max-width:1080px){

/* header(tab881-1080) --------------------*/
header { width:calc(100% - 80px);}



/* contents(tab881-1080) --------------------*/
div.contents { width:calc(100% - 80px);}


/* footer(tab881-1080) --------------------*/
a.btn-pagetop { width:40px; height:40px; background-size: 14px auto; right:-40px;}

div.footer-wrap { width:calc(100% - 80px);}
footer {}

}



/* タブレット−2 ++++++++++++++++++++ */
@media screen and (max-width:880px){
div.wrap {}

/* header(tab681-880) --------------------*/


/* contents(tab681-880) --------------------*/


/* index(tab681-880) ----------*/


/* footer(tab681-880) --------------------*/
a.btn-pagetop {}

div.footer-wrap { padding:60px 2px;}
footer {}
footer h1 { margin-bottom:24px;}
footer address { margin-bottom:24px;}
footer div.policyList { margin-bottom:48px;}

footer p.copylight { position: static;}
footer p.copylight a {}

}



/* スマホ用 ++++++++++++++++++++ */
@media screen and (max-width:680px){
div.wrap {}

/* header(phone) --------------------*/
div.header-teaser-wrap {}
div.header-teaser-wrap header { width:calc(100% - 40px); padding:16px 0;}
div.header-teaser-wrap header h1 {}
div.header-teaser-wrap header h1 a { width:120px; height:96px;}


div.mainimg { width:calc(100% - 40px); margin-bottom:80px;}
div.mainimg img.illust { aspect-ratio: 2/3;}
div.mainimg a.bnr-kokuchi-camp { width:calc(100% - 40px); width:250px; height:80px; background:url("../images/bg_bnr_kokuchi_camp_phone@2x.png") calc(50% - 10px) center no-repeat, url("../images/bg_btn_listmark02_under_white@2x.png") calc(100% - 15px) center no-repeat #CC0000; background-size: auto 60px, auto 6px; bottom:-40px;}
h2.teaser-title { margin-bottom:60px; font-size:24px; line-height:180%; letter-spacing: 0.2em;}
h2.teaser-title span.en { font-size:16px; line-height:180%; letter-spacing: 0.2em;}
h2.teaser-title span.subTitle { margin:0; display: block; overflow: hidden; font-size:18px; line-height:180%;}




/* contents(phone) --------------------*/
div.contents { width:calc(100% - 40px); margin-bottom:120px;}

div.contents section.teaser {}

div.contents section.teaser p.special  { font-size:18px; line-height:180%; padding:20px 0; margin-bottom:40px;}

div.contents section.teaser h2.teaser-title { margin:0 0 60px; font-size:22px; line-height:180%; letter-spacing: 0.2em;}

div.contents section.teaser ul.contentsList {}
div.contents section.teaser ul.contentsList li {}
div.contents section.teaser ul.contentsList li h3 { font-size:20px; line-height:180%;}
div.contents section.teaser ul.contentsList li p.recruiting {}
div.contents section.teaser ul.contentsList li p.recruiting span {}
div.contents section.teaser ul.contentsList li p.explain {}
div.contents section.teaser ul.contentsList li table.data { border-top:1px solid #331111; border-bottom:none;}
div.contents section.teaser ul.contentsList li table.data tr {}
div.contents section.teaser ul.contentsList li table.data tr th { width:100%; padding:20px 16px 1px; border-top:none; border-bottom:none; font-size:18px; line-height:180%; color:#999; display: block; overflow: hidden;}
div.contents section.teaser ul.contentsList li table.data tr td {width:100%; padding:1px 16px 20px; border-top:none; display: block; overflow: hidden;}

div.contents section.teaser ul.contentsList li a.btn { width:100%; max-width:400px; height:60px; margin:0 auto 12px; display: block; overflow: hidden; text-decoration: none; text-align: center; font-size:18px; line-height:160%; color:#FFF; background:url("../images/bg_btn_listmark_white@2x.png") calc(100% - 20px) center no-repeat; background-color: #116644; background-size: 6px auto; box-sizing: border-box; position: relative; transition:all 0.3s ease;}
div.contents section.teaser ul.contentsList li a.btn:hover { background-color: #993300;}
div.contents section.teaser ul.contentsList li a.btn span { width:100%; position: absolute; top:calc(50% - 1px); left:0; transform: translateY(-50%);}



/* footer(phone) --------------------*/
a.btn-pagetop { width:32px; height:32px; background-size: 12px auto; right:-32px;}

div.footer-wrap { width:calc(100% - 40px);}
footer {}
footer h1 { margin:0 0 24px; font-size:16px; line-height: 180%; letter-spacing: 0.2em;}
footer p.copylight {}




}
