@charset "utf-8";
/* ------------------------------------------------------------ fv */
#fv { position: relative; }
#fv .fv_slider { margin: 0 0 0 90px; height: 100vh; min-height: 800px; }
#fv .fv_slider div { height: 100vh; min-height: 800px; }
#fv .fv_slider div.fv1 { background: url(../images/index/fv_01.jpg) no-repeat center center/cover; }
#fv .fv_slider div.fv2 { background: url(../images/index/fv_02.jpg) no-repeat center center/cover; }
#fv .fv_slider div.fv3 { background: url(../images/index/fv_03.jpg) no-repeat center center/cover; }
#fv .fv_slider div.fv4 { background: url(../images/index/fv_04.jpg) no-repeat center center/cover; }
#fv .fv_slider div.fvcp1 { background: url(../images/index/fv_cp_01.jpg) no-repeat center center/cover; }
#fv .fv_slider div.fvcp2 { background: url(../images/index/fv_cp_02.jpg) no-repeat center center/cover; }

#fv .fv_slider div a { display: block; height: 100vh; }
#fv .arrows { position: absolute; right: 0; bottom: 0; z-index:5; width: 152px; height: 75px; }
#fv .arrows .slick-prev,
#fv .arrows .slick-next { width: 75px; height: 75px; z-index: 1; bottom: 0; }
#fv .arrows .slick-prev { left: 0; }
#fv .arrows .slick-next { right: 0; }
#fv .arrows .slick-prev img,
#fv .arrows .slick-next img { width: 100%; height: auto; }
#fv .h_box { position: absolute; left: 0; top: 0; bottom: 0; z-index: 5; margin: auto 0; background: #fff; height: 800px; padding: 195px 30px 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
#fv .h_box h1 { font-size: 14px; line-height: 32px; font-family: "游明朝体", "Yu Mincho","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Sawarabi Mincho",serif; }
#fv .h_box h1 img { width: 170px; height: auto; padding: 0 0 35px; }
#fv .h_box .tel { margin: 40px auto 0; padding: 30px 0 0; border-top: solid 1px #e5e5e5; font-family: "游ゴシック体", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic Pro","Meiryo","メイリオ","Osaka","ＭＳ Ｐゴシック","MS P Gothic","Arial",sans-serif; }
#fv .h_box .tel a { font-size: 21px; color: #004ea4; background: url(../images/common/tel_icon.gif) no-repeat left 5px; padding: 0 0 0 35px; }
#fv .h_box .tel p { font-size: 12px; padding: 10px 0 0; text-align: center; }
#fv .h_box .qa { text-align: center; padding: 20px 0 0; }
#fv .h_box .qa a { display: inline-block; *display: inline; *zoom: 1; background: url(../images/common/qa.svg) no-repeat 14px center #a70006; background-size: 25px; color: #fff; min-width: 150px; padding: 15px 30px 17px 50px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; font-size: 14px; }
#fv .scroll { position: absolute; left: 35px; bottom: 0; z-index: 12; }
/* ------------------------------------------------------------ mainBnrArea */
#mainBnrArea { margin: 40px auto 120px; position: relative; }
#mainBnrArea::before { position: absolute; content: ""; width: 100%; height: 210px; bottom: -70px; left: 0; background: #eee; z-index: -1; }
#mainBnrArea ul li { float: left; width: 590px; margin: 0 0 0 20px; }
#mainBnrArea ul li:nth-of-type(2n+1) { clear: both; margin: 0 auto; }
#mainBnrArea ul li img { width: 100%; height: auto; }
/* ------------------------------------------------------------ nsoh */
#nsoh { padding: 75px 0 100px; }
#nsoh h2 { text-align: center; }
#nsoh h3 { font-size: 34px; line-height: 52px; text-align: center; font-family: "游明朝体", "Yu Mincho","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Sawarabi Mincho",serif; padding: 40px 0 0; }
#nsoh .intro { line-height: 32px; text-align: center; padding: 30px 0 60px; letter-spacing: 1px; }
#nsoh ul { padding: 0 0 60px; }
#nsoh ul li { width: 570px; float: left; margin: 0 0 0 60px; }
#nsoh ul li:nth-of-type(2n+1) { clear: both; margin: 0 auto; }
#nsoh ul li img { width: 100%; height: auto; }
#nsoh .flow p { text-align: center; padding: 40px 0 60px; font-size: 24px; }
/* ------------------------------------------------------------ works */
#works { padding: 100px 0; background: url(../images/index/works_bg.jpg) no-repeat center 70px; position: relative; z-index: 1; max-width: 1600px; margin: 0 auto; }
#works::before { position: absolute; content: ""; width: 240px; height: 930px; transform: skewX(-15deg); background: #eee; top: 0; left: 50%; z-index: -1; margin: 0 0 0 -615px; }
#works .title { float: left; margin: 0 auto 65px; }
#works .intro { float: right; line-height: 30px; padding: 20px 0 0; }
#works .works_slider { padding: 0 15px; }
#works article { width: 370px; float: left; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
#works .works1 div { background: url(../images/index/works_01.jpg) no-repeat center center/cover; }
#works .works2 div { background: url(../images/index/works_02.jpg) no-repeat center center/cover; }
#works .works3 div { background: url(../images/index/works_03.jpg) no-repeat center center/cover; }
#works .works4 div { background: url(../images/index/works_04.jpg) no-repeat center center/cover; }
#works .works5 div { background: url(../images/index/works_05.jpg) no-repeat center center/cover; }
#works article div { margin: 0 20px; }
#works article a { display: block; padding: 430px 24px 30px; }
#works article h3 {color: #fff; font-size: 19px; line-height: 27px; font-family: "游明朝体", "Yu Mincho","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Sawarabi Mincho",serif; }
#works article h3 span { display: block; font-size: 27px; line-height: 41px; padding: 0 0 5px; }
#works article p { color: #fff; padding: 25px 0 0; }
#works .btn { margin: 60px auto 0; }
#works .slick-prev,
#works .slick-next { width: 64px; height: 64px; z-index: 1; top: 0; bottom: 0; margin: auto 0; }
#works .slick-prev { left: 0; }
#works .slick-next { right: 0; }
#works .slick-prev img,
#works .slick-next img { width: 100%; height: auto; }
/* ------------------------------------------------------------ voice */
#voice { position: relative; padding: 0 0 120px; }
#voice::before { position: absolute; content: ""; background: #eee; width: 100%; height: 275px; top: 35px; z-index: -1; }
#voice h2 { text-align: center; }
#voice .intro { text-align: center; padding: 25px 0 40px; }
#voice article .margin { margin: 0 10px; }
#voice article .margin a { display: block; }
#voice article .margin div { padding: 25px 15px 0; }
#voice article img { width: 100%; height: auto; }
#voice article h3 { font-size: 17px; line-height: 34px; font-weight: 500; max-height: 68px; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
#voice article p { font-size: 15px; line-height: 30px; color: #838383; padding: 5px 0 8px; }
#voice article span { display: inline-block; *display: inline; *zoom: 1; font-size: 14px; color: #0d469c; border: solid 1px #0d469c; padding: 5px 10px 7px; }
#voice .btn { margin: 70px auto 0; }
#voice .slick-slide { width: 380px !important; }
#voice .slick-prev,
#voice .slick-next { width: 64px; height: 64px; z-index: 1; top: 0; bottom: 0; margin: auto 0; }
#voice .slick-prev { left: 30px; top: 380px; }
#voice .slick-next { right: 30px; top: 380px; }
@-moz-document url-prefix() {
	#voice .slick-prev { left: 30px; top: 185px; }
	#voice .slick-next { right: 30px; top: 185px; }
}
#voice .slick-prev img,
#voice .slick-next img { width: 100%; height: auto; }
#voice .arrows { position: relative; }
/* ------------------------------------------------------------ plan */
#plan { background: url(../images/index/plan_bg.jpg) no-repeat center center; padding: 90px 0 170px; }
#plan .plan_slider { padding: 70px 0 0; }
#plan .plan_slider .margin { margin: 0 50px; }
#plan .plan_slider a img { box-shadow: 3px 3px 50px rgba(0,0,0,0.2); display: block; width: 100%; height: auto; }
#plan .slick-prev,
#plan .slick-next { width: 64px; height: 64px; z-index: 1; top: 0; bottom: 0; margin: auto 0; }
#plan .slick-prev { left: 60px; top: 780px; }
#plan .slick-next { right: 60px; top: 780px; }
@-moz-document url-prefix() {
	#plan .slick-prev { left: 60px; top: 400px; }
	#plan .slick-next { right: 60px; top: 400px; }
}
#plan .slick-prev img,
#plan .slick-next img { width: 100%; height: auto; }
#plan .arrows { position: relative; }
#plan .slick-counter { font-size: 26px; font-family: "Cormorant", serif; position: absolute; left: 10%; bottom: -100px; }
#plan .slick-counter .current { display: inline-block; *display: inline; *zoom: 1; background: url(../images/common/slider_slash.png) no-repeat right center; padding: 10px 60px 20px 0; }
#plan .slick-counter .total { display: inline-block; *display: inline; *zoom: 1; }
/* ------------------------------------------------------------ pickup */
#pickup { position: relative; padding: 100px 0; margin: 100px auto; max-width: 1600px; }
#pickup::before { position: absolute; content: ""; width: 240px; height: 100%; transform: skewX(-10deg); background: #eee; top: 0; left: 50%; margin: 0 0 0 -645px; z-index: -1; }
#pickup h2 { margin: 0 auto 60px; }
#pickup article { position: relative; box-shadow: 3px 3px 50px rgba(0,0,0,0.2); margin: 0 auto 45px; }
#pickup article:last-of-type { margin: 0 auto 85px; }
#pickup article img { width: 100%; height: auto; }
#pickup article .textbox { background: #fff; position: absolute; right: 0; bottom: 0; padding: 50px 45px; }
#pickup article .textbox h3 { font-size: 32px; line-height: 37px; padding: 0 0 30px; font-family: "游明朝体", "Yu Mincho","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Sawarabi Mincho",serif; }
#pickup article .textbox dl { font-size: 14px; width: 360px; margin: 0 auto; padding: 0 0 15px; }
#pickup article .textbox dl dt { width: 85px; float: left; padding: 0 0 5px; line-height: 24px; }
#pickup article .textbox dl dd { width: 275px; float: left; padding: 0 0 5px; line-height: 24px; }
#pickup article .textbox h4 { font-size: 19px; padding: 0 0 30px; font-family: "游明朝体", "Yu Mincho","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Sawarabi Mincho",serif; }
#pickup article .textbox h4 strong { font-size: 28px; }
#pickup article p { text-align: right; }
#pickup article p span { font-size: 14px; background: url(../images/common/arrow_black.svg) no-repeat right center; padding: 0 55px 0 0; }
/* ------------------------------------------------------------ nsoh */
#event_campaign { position: relative; padding: 100px 0 120px; } 
#event_campaign::before { position: absolute; content: ""; width: 240px; height: 100%; transform: skewX(-10deg); background: #eee; top: 0; left: 50%; margin: 0 0 0 -580px; z-index: -1; }
#event_campaign .title { float: left; margin: 0 auto 65px; }
#event_campaign .intro { float: right; line-height: 30px; padding: 20px 0 0; }
#event_campaign .ec_slider .margin { margin: 0 35px; }
#event_campaign .ec_slider img { box-shadow: 3px 3px 50px rgba(0,0,0,0.2); display: block; width: 100%; height: auto; }
#event_campaign .slick-prev,
#event_campaign .slick-next { width: 64px; height: 64px; z-index: 1; top: 0; bottom: 0; margin: auto 0; }
#event_campaign .slick-prev { left: 120px; top: 810px; }
#event_campaign .slick-next { right: 120px; top: 810px; }
@-moz-document url-prefix() {
	#event_campaign .slick-prev { left: 120px; top: 400px; }
	#event_campaign .slick-next { right: 120px; top: 400px; }
}
#event_campaign .slick-prev img,
#event_campaign .slick-next img { width: 100%; height: auto; }
#event_campaign .arrows { position: relative; }
/* ------------------------------------------------------------ other */
#other { position: relative; padding: 100px 0 40px; margin: 100px auto; }
#other::before { position: absolute; content: ""; width: 240px; height: 100%; transform: skewX(-10deg); background: #eee; top: 0; left: 50%; margin: 0 0 0 -625px; z-index: -1; }
#other .otherbox { padding: 75px 0 0; }
#other .otherbox article { width: 582px; margin: 0 auto 60px; }
#other .otherbox article a { display: block; }
#other .otherbox .left article:nth-of-type(1) { background: url(../images/index/other_01.jpg) no-repeat center center/cover; }
#other .otherbox .left article:nth-of-type(2) { background: url(../images/index/other_03.jpg) no-repeat center center/cover; }
#other .otherbox .right { margin: -170px auto 0; }
#other .otherbox .right article:nth-of-type(1) { background: url(../images/index/other_02.jpg) no-repeat center center/cover; }
#other .otherbox .right article:nth-of-type(2) { background: url(../images/index/other_04.jpg) no-repeat center center/cover; }
#other .otherbox .left article:nth-of-type(1) a,
#other .otherbox .right article:nth-of-type(2) a { padding: 235px 30px 35px; }
#other .otherbox .left article:nth-of-type(2) a,
#other .otherbox .right article:nth-of-type(1) a { padding: 281px 30px 35px; }

#other .otherbox article h3 { font-size: 38px; line-height: 46px; font-family: "Cormorant", serif; color: #fff; }
#other .otherbox article p { color: #fff; padding: 15px 0 0; }
/* ------------------------------------------------------------ nsoh_nav */
/*
#nsoh_nav { background: url(../images/index/nsoh_bg.jpg) no-repeat center center/cover; padding: 60px 0; margin: 0 auto 120px; }
#nsoh_nav .textbox { background: #004ea2; padding: 40px 50px; width: 485px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
#nsoh_nav .textbox h2 { text-align: center; padding: 0 0 40px; }
#nsoh_nav .textbox .intro { line-height: 31px; color: #fff; padding: 0 0 50px; }
*/
/* ------------------------------------------------------------ nsoh_bnr */
#nsoh_bnr { background: #eee; padding: 0 0 80px; }
#nsoh_bnr a img { width: 100%; height: auto; }
/* ------------------------------------------------------------ gallery */
#gallery { padding: 100px 0 0; position: relative; max-width: 1400px; margin: 120px auto 0; }
#gallery::before { position: absolute; content: ""; width: 240px; height: 910px; transform: skewX(-15deg); background: #eee; top: 0; left: 50%; margin: 0 0 0 -625px; z-index: -1; }
#gallery .title { float: left; margin: 0 auto 65px; }
#gallery .intro { float: right; line-height: 30px; padding: 20px 0 25px 315px; position: relative; }
#gallery .intro::before { position: absolute; content: ""; width: 100%; height: 1px; background: #000; right: 0; bottom: 0; }
#gallery ul li { float: left; width: 364px; margin: 0 0 54px 54px; }
#gallery ul li a { display: block; padding: 415px 30px 30px; }
#gallery ul .gallery1 div { background: url(../images/index/gallery_01.jpg) no-repeat center center/cover; }
#gallery ul .gallery2 div { background: url(../images/index/gallery_02.jpg) no-repeat center center/cover; }
#gallery ul .gallery3 div { background: url(../images/index/gallery_03.jpg) no-repeat center center/cover; }
#gallery ul .gallery4 div { background: url(../images/index/gallery_04.jpg) no-repeat center center/cover; }
#gallery ul .gallery5 div { background: url(../images/index/gallery_05.jpg) no-repeat center center/cover; }
#gallery ul li:nth-of-type(3n+1) { clear: both; margin: 0 auto 54px; }
#gallery ul li h3 { font-size: 16px; color: #fff; }
#gallery ul li h3 small { display: block; font-size: 21px; font-family: "Cormorant", serif; padding: 0 0 10px; }
#gallery ul li h3 span { display: block; font-size: 38px; font-family: "Cormorant", serif; padding: 0 0 20px; }
/* ------------------------------------------------------------ information */
#information { background: url(../images/index/bg_01.jpg) no-repeat center center/cover; padding: 75px 0; }
#information article { background: #fff; width: 575px; height: 600px; float: left; margin: 0 0 0 50px; padding: 60px 35px 80px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
#information article:nth-of-type(2n+1) { margin: 0 auto; }
#information article h2 { margin: 0 auto 55px; }
#information article div { display: table; padding: 0 0 25px; }
#information article div:last-of-type { padding: 0; }
#information article div a { display: block; }
#information article div small { display: table-cell; font-size: 14px; color: #949494; vertical-align: middle; min-width: 90px; padding: 0 15px 0 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
#information article div p { display: table-cell; font-size: 14px; border: solid 1px #000; min-width: 110px; text-align: center; padding: 5px 15px 7px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; vertical-align: middle; line-height: 18px; max-height: 32px; }
#information article div h3 { display: table-cell; font-size: 16px; line-height: 24px; vertical-align: middle; padding: 0 0 0 15px; }
/* ------------------------------------------------------------ lineup */
#lineup { padding: 110px 0 100px; }
#lineup article { float: left; width: 398px; padding: 0 0 0 3px; }
#lineup article a { display: block; }
#lineup article:nth-of-type(3n+1) { padding: 0; }
#lineup article h2 { text-align: center; padding: 30px 0 25px; }
#lineup article:nth-of-type(2) h2 img { width: 295px; height: auto; }
#lineup article:nth-of-type(3) h2 img { width: 260px; height: auto; padding: 15px 0 0; }
#lineup article p { font-size: 16px; line-height: 26px; padding: 0 20px; }
/* ------------------------------------------------------------ footer_nav */
#footer_nav { padding: 0 0 150px; }
#footer_nav ul li { float: left; width: 583px; margin: 0 0 0 34px; }
#footer_nav ul li:nth-of-type(2n+1) { clear: both; margin: 0 auto; }
#footer_nav ul li a { display: block; }
#footer_nav ul li img { width: 100%; height: auto; }
#footer_nav ul li h3 { margin: 25px auto 0; }


/* sitemap */
ul.sitemap.other {
clear: both;
padding-top: 5px;
}

ul.sitemap.other li#sitemap {
padding-left: 15px;
background: url(/assets/img/share/sitemap.gif) no-repeat left center;
font-size: 0.8em;
}

ul.sitemap.other li#sitemap {
color:#555;
}

/* ------------------------------------------------------------ mobile */
@media only screen and (max-width:640px){
/* ------------------------------------------------------------ fv */
#fv { position: relative; margin: 60px auto 0; }
#fv .fv_slider { margin: 0 auto; height: inherit; min-height: inherit; }
#fv .fv_slider div { height: inherit; min-height: inherit; }
#fv .fv_slider_sp div img { width: 100%; height: auto; }
#fv .arrows { position: absolute; right: 0; bottom: 2px; z-index: 5; width: 82px; height: 40px; }
#fv .arrows .slick-prev,
#fv .arrows .slick-next { width: 40px; height: 40px; }
#fv .arrows .slick-prev { left: 0; }
#fv .arrows .slick-next { right: 0; }
#fv .arrows .slick-prev img,
#fv .arrows .slick-next img { width: 100%; height: auto; }
#fv .h_box { position: absolute; left: 0; top: 0; bottom: 0; margin: auto 0; background: #fff; height: 815px; padding: 245px 30px 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
#fv .h_box h1 { font-size: 14px; line-height: 32px; }
#fv .h_box h1 img { width: 170px; height: auto; padding: 0 0 35px; }
#fv .h_box .tel { margin: 40px auto 0; padding: 30px 0 0; border-top: solid 1px #e5e5e5; }
#fv .h_box .tel a { font-size: 21px; color: #004ea4; background: url(../images/common/tel_icon.gif) no-repeat left 5px; padding: 0 0 0 35px; }
#fv .h_box .tel p { font-size: 12px; padding: 10px 0 0; text-align: center; }
#fv .scroll { position: absolute; left: 35px; bottom: 0; }
/* ------------------------------------------------------------ tel_sp */
#tel_sp { background: #eee; padding: 15px 0; }
#tel_sp .inner { width: 295px; }
#tel_sp .tel { float: left; font-size: 11px; padding: 2px 0 0; width: 50%; }
#tel_sp .tel span { display: block; padding: 8px 0 0; }
#tel_sp .tel a { font-size: 15px; font-weight: bold; color: #004ea4; background: url(../images/common/tel_icon.gif) no-repeat left center; background-size: 20px; padding: 0 0 0 25px; font-family: "游ゴシック体", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic Pro","Meiryo","メイリオ","Osaka","ＭＳ Ｐゴシック","MS P Gothic","Arial",sans-serif; }
#tel_sp .qa { float: right; width: 50%; text-align: center; }
#tel_sp .qa a { display: inline-block; *display: inline; *zoom: 1; background: url(../images/common/qa.svg) no-repeat 10px center #a70006; background-size: 20px; color: #fff; padding: 15px 15px 17px 36px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; font-size: 11px; }
/* ------------------------------------------------------------ mainBnrArea */
#mainBnrArea { margin: 40px auto 20px; position: static; background: #eee; padding: 6% 0; }
#mainBnrArea::before { display: none; }
#mainBnrArea ul li { float: none; width: 100%; margin: 0 auto 15px; }
#mainBnrArea ul li:nth-of-type(2n+1) { clear: inherit; margin: 0 auto 15px; }
#mainBnrArea ul li:last-of-type { margin: 0 auto; }
/* ------------------------------------------------------------ nsoh */
#nsoh { padding: 40px 0 60px; }
#nsoh h2 img { width: 180px; height: auto; }
#nsoh h3 { font-size: 20px; line-height: 34px; padding: 25px 0 0; }
#nsoh .intro { font-size: 14px; line-height: 24px; text-align: left; padding: 15px 0 40px; }
#nsoh ul { padding: 0 0 15px; }
#nsoh ul li { width: 100%; float: none; margin: 0 auto 15px; }
#nsoh ul li:nth-of-type(2n+1) { clear: inherit; margin: 0 auto 15px; }
#nsoh ul li img { width: 100%; height: auto; }
#nsoh .flow p { padding: 20px 0 30px; font-size: 18px; line-height: 30px; }
#nsoh .flow img { width: 100%; height: auto; }

/* ------------------------------------------------------------ works */
#works { padding: 40px 0 60px; background: none; max-width: 100%; margin: 0 auto; }
#works::before { position: absolute; content: ""; width: 210px; height: 915px; transform: skewX(-15deg); background: #eee; top: 0; left: 10%; margin: 0 0 0 -275px; }
#works::after { position: absolute; content: ""; width: 100%; height: 240px; background: url(../images/index/works_bg_sp.jpg) no-repeat center center/cover; top: 250px; z-index: -2; }
#works .inner { width: 100%; }
#works .title { float: none; margin: 0 5% 25px; }
#works .intro { float: none; font-size: 14px; line-height: 24px; padding: 0 5% 70px; }
#works .works_slider { padding: 0; }
#works .works_slider .slick-slide { width: 256px !important; }
#works article { width: inherit; }
#works article div { margin: 0 10px; }
#works .works1 div { background: url(../images/index/works_01.jpg) no-repeat center center/cover; }
#works .works2 div { background: url(../images/index/works_02.jpg) no-repeat center center/cover; }
#works .works3 div { background: url(../images/index/works_03.jpg) no-repeat center center/cover; }
#works article a { display: block; padding: 230px 15px 20px; box-shadow: 3px 3px 10px rgba(0,0,0,0.2); }
#works article h3 { font-size: 16px; line-height: 24px; }
#works article h3 span { font-size: 16px; line-height: 24px; padding: 0 0 5px; }
#works article p { font-size: 12px; padding: 10px 0 0; }
#works .btn { margin: 60px auto 0; }
#works .slick-prev,
#works .slick-next { width: 40px; height: 40px; }
#works .slick-prev { left: 5%; }
#works .slick-next { right: 5%; }
/* ------------------------------------------------------------ voice */
#voice { padding: 0 0 60px; }
#voice::before { width: 100%; height: 275px; top: 20px; }
#voice h2 { text-align: center; }
#voice .intro { font-size: 14px; line-height: 24px; padding: 25px 0 40px; }
#voice .voice_slider { width: 100vw; margin: 0 auto; }
#voice article .margin { margin: 0 10px; }
#voice article .margin a { display: block; }
#voice article .margin div { padding: 15px 15px 0; }
#voice article img { width: 100%; height: auto; }
#voice article h3 { font-size: 14px; line-height: 24px; max-height: 48px; }
#voice article p { font-size: 12px; line-height: 30px; padding: 0 0 8px; }
#voice article span { font-size: 12px; padding: 5px 10px 7px; }

#voice .btn { margin: 50px auto 0; }
#voice .slick-slide { width: 300px !important; }
#voice .slick-prev,
#voice .slick-next { width: 40px; height: 40px; }
#voice .slick-prev { left: 0; top: 200px; }
#voice .slick-next { right: 0; top: 200px; }
@-moz-document url-prefix() {
	#voice .slick-prev { left: 0; top: 200px; }
	#voice .slick-next { right: 0; top: 200px; }
}
/* ------------------------------------------------------------ plan */
#plan { background: none; padding: 40px 0; position: relative; }
#plan::before { position: absolute; content: ""; width: 210px; height: 915px; transform: skewX(-15deg); background: #eee; top: 0; left: 10%; margin: 0 0 0 -275px; }
#plan::after { position: absolute; content: ""; width: 200px; height: 520px; background: url(../images/index/plan_bg_sp.png) no-repeat right center/190px; top: 40px; right: 0; z-index: -2; }
#plan .plan_slider { padding: 0; }
#plan .plan_slider .slick-slide { width: 300px; padding: 40px 0; }
#plan .plan_slider .margin { margin: 0 10px; }
#plan .plan_slider a img { display: block; width: 100%; height: auto; box-shadow: 3px 3px 10px rgba(0,0,0,0.2); }
#plan .slick-prev,
#plan .slick-next { width: 40px; height: 40px; }
#plan .slick-prev { left: 0; top: 400px; }
#plan .slick-next { right: 0; top: 400px; }
@-moz-document url-prefix() {
	#plan .slick-prev { left: 0; top: 400px; }
	#plan .slick-next { right: 0; top: 400px; }
}
#plan .slick-prev img,
#plan .slick-next img { width: 100%; height: auto; }
#plan .arrows { position: relative; }
#plan .slick-counter { display: none; }
/* ------------------------------------------------------------ pickup */
#pickup { position: relative; padding: 30px 0 0; margin: 0 auto; max-width: 100%; }
#pickup::before { position: absolute; content: ""; width: 210px; height: 915px; transform: skewX(-15deg); background: #eee; top: 0; left: 10%; margin: 0 0 0 -275px; }
#pickup h2 { margin: 0 auto 30px; }
#pickup article { position: relative; box-shadow: 3px 3px 20px rgba(0,0,0,0.2); margin: 0 auto 45px; }
#pickup article:last-of-type { margin: 0 auto 50px; }
#pickup article img { width: 100%; height: auto; }
#pickup article .textbox { position: static; right: 0; bottom: 0; padding: 25px 5% 30px; }
#pickup article .textbox h3 { font-size: 22px; line-height: 32px; padding: 0 0 20px; }
#pickup article .textbox dl { font-size: 12px; width: 100%; margin: 0 auto; padding: 0 0 15px; }
#pickup article .textbox dl dt { width: 70px; padding: 0 0 10px; font-size: 12px; line-height: 18px; }
#pickup article .textbox dl dd { width: calc(100% - 70px); padding: 0 0 10px; font-size: 12px; line-height: 18px; }
#pickup article .textbox h4 { font-size: 16px; padding: 0 0 30px; }
#pickup article .textbox h4 strong { font-size: 26px; }
#pickup article p { text-align: right; }
#pickup article p span { font-size: 14px; background: url(../images/common/arrow_black.svg) no-repeat right center; padding: 0 55px 0 0; }
/* ------------------------------------------------------------ nsoh */
#event_campaign { position: relative; margin: 50px auto 0; padding: 40px 0 0; } 
#event_campaign::before { position: absolute; content: ""; width: 210px; height: 915px; transform: skewX(-15deg); background: #eee; top: 0; left: 10%; margin: 0 0 0 -275px; }
#event_campaign .title { float: none; margin: 0 auto; }
#event_campaign .intro { float: none; font-size: 14px; line-height: 24px; padding: 30px 0; }
#event_campaign .ec_slider .margin { margin: 0 10px; }
#event_campaign .ec_slider .slick-slide { width: 270px; }
#event_campaign .ec_slider img { box-shadow: 3px 3px 10px rgba(0,0,0,0.2); display: block; width: 100%; height: auto; }
#event_campaign .slick-prev,
#event_campaign .slick-next { width: 40px; height: 40px; }
#event_campaign .slick-prev { left: 0; top: 180px; }
#event_campaign .slick-next { right: 0; top: 180px; }
@-moz-document url-prefix() {
	#event_campaign .slick-prev { left: 0; top: 180px; }
	#event_campaign .slick-next { right: 0; top: 180px; }
}
#event_campaign .slick-prev img,
#event_campaign .slick-next img { width: 100%; height: auto; }
#event_campaign .arrows { position: relative; }
/* ------------------------------------------------------------ other */
#other { position: relative; padding: 40px 0 50px; margin: 60px auto 0; }
#other::before { position: absolute; content: ""; width: 210px; height: 915px; transform: skewX(-15deg); background: #eee; top: 0; left: 10%; margin: 0 0 0 -275px; }
#other .otherbox { padding: 40px 0 0; }
#other .otherbox article { width: 100%; margin: 0 auto 20px; }
#other .otherbox article a { display: block; }
#other .otherbox .right { margin: 0 auto; }
#other .otherbox .left article:nth-of-type(1) a,
#other .otherbox .right article:nth-of-type(2) a { padding: 100px 5% 25px; }
#other .otherbox .left article:nth-of-type(2) a,
#other .otherbox .right article:nth-of-type(1) a { padding: 100px 5% 25px; }
#other .otherbox article h3 { font-size: 22px; line-height: 27px; }
#other .otherbox article p { font-size: 13px; padding: 10px 0 0; }

/* ------------------------------------------------------------ nsoh_nav */
/*
#nsoh_nav { background: none; padding: 20px 0; margin: 0 auto 30px; }
#nsoh_nav img.SP { width: 100%; height: auto; }
#nsoh_nav .textbox { padding: 40px 5%; width: 100%; }
#nsoh_nav .textbox h2 { text-align: center; padding: 0 0 20px; }
#nsoh_nav .textbox h2 img { width: 150px; height: auto; }
#nsoh_nav .textbox .intro { font-size: 14px; line-height: 27px; padding: 0 0 30px; }
*/

/* ------------------------------------------------------------ nsoh_bnr */
#nsoh_bnr { padding: 0 0 40px; }
/* ------------------------------------------------------------ gallery */
#gallery { padding: 40px 0 0; position: relative; max-width: 100%; margin: 50px auto 0; }
#gallery::before { position: absolute; content: ""; width: 210px; height: 915px; transform: skewX(-15deg); background: #eee; top: 0; left: 10%; margin: 0 0 0 -275px; }
#gallery .inner { width: 100%; }
#gallery .titlebox { width: 90%; margin: 0 auto; }
#gallery .title { float: none; margin: 0 auto; }
#gallery .intro { float: none; font-size: 14px; line-height: 24px; padding: 30px 0; position: relative; }
#gallery .intro::before { display: none; }
#gallery ul li { float: left; width: 100%; margin: 0 auto; }
#gallery ul li div { margin: 0 10px; box-shadow: 3px 3px 10px rgba(0,0,0,0.2); }
#gallery ul li a { display: block; padding: 250px 30px 30px; }
#gallery ul li:nth-of-type(3n+1) { clear: both; margin: 0 auto 54px; }
#gallery ul li h3 { font-size: 12px; color: #fff; }
#gallery ul li h3 small { font-size: 14px; padding: 0 0 10px; }
#gallery ul li h3 span { font-size: 22px; padding: 0 0 20px; }
#gallery .slick-slide { width: 256px !important; }
#gallery .slick-prev,
#gallery .slick-next { width: 40px; height: 40px; z-index: 1; }
#gallery .slick-prev { left: 5%; top: 170px; }
#gallery .slick-next { right: 5%; top: 170px; }
#gallery .slick-prev img,
#gallery .slick-next img { width: 100%; height: auto; }

/* ------------------------------------------------------------ information */
#information { background: #ececec; padding: 20px 0; }
#information article { width: 100%; height: inherit; float: none; margin: 0 auto; padding: 30px 5% 40px; }
#information article:nth-of-type(2n+1) { margin: 0 auto 20px; }
#information article h2 { margin: 0 auto 40px; }
#information article div { display: block; padding: 0 0 20px; margin: 0 auto 20px; border-bottom: solid 1px #dcdcdc; }
#information article div:last-of-type { padding: 0; border: none; }
#information article div a { display: block; }
#information article div small { display: inline-block; *display: inline; *zoom: 1; font-size: 12px; min-width: 75px; padding: 0 10px 0 0; }
#information article div p { display: inline-block; *display: inline; *zoom: 1; font-size: 12px; min-width: 85px; padding: 3px 10px 5px; line-height: 18px; }
#information article div h3 { display: block; font-size: 14px; line-height: 24px; padding: 10px 0 0; }
/* ------------------------------------------------------------ lineup */
#lineup { padding: 20px 0; }
#lineup article { float: none; width: 100%; padding: 0 0 40px; }
#lineup article:nth-of-type(3n+1) { padding: 0 0 40px; }
#lineup article a { display: block; }
#lineup article img { width: 100%; height: auto; }
#lineup article h2 { padding: 25px 0 20px; }
#lineup article:nth-of-type(1) h2 img { width: 180px; height: auto; }
#lineup article:nth-of-type(2) h2 img { width: 200px; height: auto; }
#lineup article:nth-of-type(3) h2 img { width: 200px; height: auto; padding: 15px 0 0; }
#lineup article p { font-size: 14px; line-height: 24px; padding: 0 15px; }
/* ------------------------------------------------------------ footer_nav */
#footer_nav { padding: 0 0 50px; }
#footer_nav ul li { width: 50%; margin: 0 auto; }
#footer_nav ul li:nth-of-type(2n+1) { margin: 0 auto; }
#footer_nav ul li a { display: block; }
#footer_nav ul li img { width: 100%; height: auto; }
#footer_nav ul li h3 { font-size: 12px; margin: 15px auto 0; }
#footer_nav ul li h3 span { font-size: 22px; }
}
