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

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

	ページトップ設定

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

#page_top,
.page_top_contents,
.page_top_head,
.page_top_head img,
.logo_wrap,
.logo_wrap svg {
	width: 100%;
}
#page_top {
	position: relative;
	width: 100%;
	height: 80vh;
	min-height: 750px;
	padding: 0;
	margin: 0 auto;
	z-index: 1;
	overflow-x: hidden;
}

/* ==================================================
	スライドショー
================================================== */

.swiper-container01 {
	width: 100%;
	height: 100%;
}
.swiper-container01 .swiper-slide {
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: cover;
}
.swiper-container01 .swiper-slide a {
	display: block;
	width: 100%;
	height: 100%;
}

/* サンエイオー画像用設定（画像の縦横比を保管しながらサイズ可変） */
.swiper-container01 {
	display: none;
}
#page_top {
	background-image: url(../img/top/bg/saneio01.jpg);
	background-position: 33.333% center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 0;
	min-height: 0;
	padding-top: 75%;
}

/* 

2025年11月19日　全スライド廃止。49行目以降のサンエイオーの静止画像設定に変更。

.swiper-container01 .slide01 {
	background-image: url(../img/top/bg/signboard01.jpg);
	background-image: url(../img/top/bg/saneio01.jpg);
	background-position: 33.333% center;
}
.swiper-container01 .slide02 {
	background-image: url(../img/top/bg/taiyoko_hatsuden_system.jpg);
	background-position: center center;
}
.swiper-container01 .slide03 {
	background-image: url(../img/top/bg/bouhan_camera.png);
	background-position: center center;
}
.swiper-container01 .slide04 {
	background-image: url(../img/top/bg/smoking_room_01.jpg);
	background-position: center center;
}

@media (max-width: 980px) {
.swiper-container01 .slide04 {
	background-image: url(../img/top/bg/smoking_room_01_02.jpg);
	background-position: center center;
}
}
@media (max-width: 640px) {
}
 */


/* ==================================================
	SANEI × 事業情報
================================================== */

.swiper-container02 .slide01 .slide_img {
	background-image: url(../img/top/slide02/genba05.jpg);
}
.swiper-container02 .slide02 .slide_img {
	background-image: url(../img/top/slide02/genba06.jpg);
}
/* 
.swiper-container02 .slide03 .slide_img {
	background-image: url(../img/top/slide02/genba02.jpg);
}
.swiper-container02 .slide04 .slide_img {
	background-image: url(../img/top/slide02/genba04.jpg);
}
 */

.swiper-button-prev.swiper-button-white,
.swiper-container-rtl .swiper-button-next.swiper-button-white,
.swiper-button-next.swiper-button-white,
.swiper-container-rtl .swiper-button-prev.swiper-button-white {
	background: none;
	width: 36px;
    height: 36px;
	top: calc(50% - 18px);
    margin-top: 0;
    transform: rotate(45deg);
	transition: all 0.3s ease-in-out;
}
.swiper-button-prev.swiper-button-white,
.swiper-container-rtl .swiper-button-next.swiper-button-white {
	left: 24px;
    border-bottom: 6px solid #FFF;
    border-left: 6px solid #FFF;
}
.swiper-button-next.swiper-button-white,
.swiper-container-rtl .swiper-button-prev.swiper-button-white {
    right: 24px;
	border-top: 6px solid #FFF;
    border-right: 6px solid #FFF;
}
.swiper-button-prev.swiper-button-white:hover {
	left: 20px;
    border-bottom: 6px solid #008435;
    border-left: 6px solid #008435;
}
.swiper-button-next.swiper-button-white:hover {
    right: 20px;
	border-top: 6px solid #008435;
    border-right: 6px solid #008435;
}
.swiper-pagination {
	position: static;
	margin: 12px auto 0;
}
.swiper-pagination-bullet {
    width: 15px;
    height: 15px;
}
.swiper-pagination-bullet-active {
    background: #008435;
}
.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 0 8px;
}


/* ==================================================
	バナーリンク
================================================== */

#banner_link .banner_list_wrapper,
#banner_link .banner_list_wrapper .banner_list,
#banner_link .banner_list_wrapper .banner_list li,
#banner_link .banner_list_wrapper .banner_list li a,
#banner_link .banner_list_wrapper .banner_list li a p,
#banner_link .banner_list_wrapper .banner_list li > p,
#banner_link .banner_list_wrapper .banner_list li p img {
	width: 100%;
}
#banner_link .banner_list_wrapper {
    padding: 24px 40px;
}
#banner_link .banner_list_wrapper .banner_list {
	display: flex;
	justify-content: center;
    align-items: center;
}
#banner_link .banner_list_wrapper .banner_list li {
	/*max-width: 640px;*/
	max-width: 420px;
}
#banner_link .banner_list_wrapper .banner_list li + li {
	margin-left: 2rem;
}
#banner_link .banner_list_wrapper .banner_list li a {
	display: block;
	background: #FFF;
}
#banner_link .banner_list_wrapper .banner_list li p {
	line-height: 0;
}
#banner_link .banner_list_wrapper .banner_list li a:hover p.banner_list_img {
	opacity: .7;
}

@media (max-width: 980px) {
#banner_link .banner_list_wrapper {
    padding: 24px 20px;
}
}

@media (max-width: 640px) {
#banner_link .banner_list_wrapper {
    padding: 24px 10px;
}
#banner_link .banner_list_wrapper .banner_list li + li {
	margin-left: 1rem;
}
}


/* ==================================================
	プロモーション（企業PV）
================================================== */

.pv_content {
	width: 100%;
	max-width: 1050px;
	padding: 40px 0 0;
	margin: 0 auto;
}
.pv_content p {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.pv_content p iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

.pv_content + div {
	margin: 24px auto 0;
}
.pv_content + div.sns_link {
	max-width: 400px;
}
.pv_content + div.sns_link ul,
.pv_content + div.sns_link ul li a {
	width: 100%;
}
.pv_content + div.sns_link ul li {
	width: 25%;
}
.pv_content + div.sns_link ul li a {
	color: #333;
}
.pv_content + div.sns_link ul li a img {
	width: 100%;
}

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

	各コンテンツ設定

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

/* ==================================================
	各コンテンツ外枠
================================================== */

[class^="top_contents"] {
	width: 100%;
	margin: 0 auto;
}
.top_contents00 {
	padding: 80px;
}
.top_contents01 {
	padding: 40px;
}
.top_contents02 {
	padding: 40px;
}
.top_contents03 {
	padding: 40px 0 0;
}
.top_contents04 {
	padding: 40px;
}
.top_contents05 {
	padding: 40px;
	margin: 40px auto;
}
main + div {
	margin-top: 0;
}



/* ==================================================
	コンテンツ見出し
================================================== */

[class^="top_contents_title"] {
	width: 100%;
	margin: 0 auto;
}
[class^="top_contents_title"] h2 {
	font-family: 'Sawarabi Mincho', sans-serif;
	font-size: 1.9em;
	font-weight: normal;
	text-align: center;
	letter-spacing: .1em;
	margin: 0 auto;
}
[class^="top_contents_title"] h2 span {
	position: relative;
	display: block;
	color: #008435;
	font-size: .65em;
	letter-spacing: .05em;
	padding-top: .75em;
}
[class^="top_contents_title"] h2 span:before {
	content: '';
	display: block;
	width: 40px;
	height: 1px;
	background: #008435;
	margin: 0 auto .75em;
}



/* ==================================================
	リンクボタン - パターン01
================================================== */

[class^="link_button"] a {
	font-family: 'Sawarabi Mincho', sans-serif;
	position: relative;
	display: flex;
	justify-content: center;
    align-items: center;
	width: 100%;
	color: #333;
	font-weight: normal;
	background: #FFF;
	border: #666 solid 1px;
	overflow: hidden;
}
.link_button01 a {
	max-width: 240px;
	height: 40px;
	font-size: 1.2em;
	padding: 0 40px 0 0;
}
.link_button01 a:before {
	font-family: 'FontAwesome';
    content: "\f105";
	position: absolute;
	right: -1px;
	top: -1px;
	display: flex;
	justify-content: center;
    align-items: center;
	width: 38px;
	height: 38px;
	color: #FFF;
	font-size: 1.75em;
	font-weight: normal;
	background: #666;
	border: #666 solid 1px;
}
.link_button01 a:hover {
	color: #008435;
	border: #008435 solid 1px;
}
.link_button01 a:hover:before {
	background: #008435;
	border: #008435 solid 1px;
}



/* ==================================================
	三栄実業ロゴ
================================================== */

.page_top_head {
	position: absolute;
	top: 40px;
	right: 40px;
	max-width: 320px;
	background: rgba(255,255,255,.85);
	box-shadow: 4px 6px 4px rgba(0,0,0,0.5);
	padding: 20px;
	z-index: 1;
}
.page_top_head .logo_wrap {
	position: relative;
    padding-top: 33%; /* SVG高さ / SVG幅 * 100 */
}
.page_top_head .logo_wrap svg {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
	z-index: 1;
	fill: #00862e;
}

/* ==================================================
	information topics
================================================== */

.top_info {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 60px;
	display: flex;
    align-items: center;
    justify-content: center;
	z-index: 1;
	padding: 10px 40px;
	background: rgba(0,132,53,.85);
	overflow: hidden;
}
.top_info_contents {
	display: flex;
	align-items: center;
	width: 95%;
	height: 100%;
}
.top_info_contents div,
.top_info_contents div a,
.top_info_contents div p {
	margin: 0;
	line-height: 3;
}
.top_info_contents .top_info_head {
	display: flex;
	align-items: center;
	width: 200px;
	margin-right: 20px;
}
.top_info_contents .top_info_head p {
	color: #FFF;
	font-weight: bold;
	font-size: 1.25em;
	letter-spacing: 0.1em;
}
.top_info_contents .top_info_title {
	width: calc(100% - 220px);
}
.top_info_contents .top_info_title a {
	display: flex;
	align-items: center;
	position: relative;
	width: 100%;
	background: #FFF;
	border-radius: 20px;
    padding: 0 40px 0 40px;
	text-decoration: none;
}
.top_info_contents .top_info_title a p {
	width: 100%;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.top_info_contents .top_info_title a:after {
  font-family: 'FontAwesome';
  content: "\f105";
  display: inline-block;
  position: absolute;
  top: -32.5px;
  right: 20px;
  color: #008435;
  font-size: 2.5em;
  font-weight: bold;
}
.top_info_contents .top_info_title a:hover {
	opacity: .9;
}



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

	お知らせ

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

.news_wrapper {
    width: 100%;
    max-width: 1050px;
    padding: 40px 0 0;
    margin: 0 auto;
}
.news_list {
	width: 100%;
    padding: 0 0 32px;
	margin: 0 auto;
}
.news_list li a,
.news_title {
	display: flex;
}
.news_list li {
	width: 100%;
	border-bottom: #CCC solid 1px;
}
.news_list li:first-child {
	border-top: #CCC solid 1px;
}
.news_list li a {
	width: 100%;
	position: relative;
	justify-content: center;
}
.news_list li a:hover {
	background-color: #ECECEC;
}
.news_title {
	width: 100%;
	align-items: center;
	margin: 24px 80px 24px 40px;
}
.news_title dt {
	width: 100px;
	margin-right: 40px;
}
.news_title dd {
	width: calc(100% - 120px);
	font-size: 1.15em;
	margin: 0;
}
.news_list li a:before {
	font-family: 'FontAwesome';
    content: "\f105";
	position: absolute;
	top: calc(50% - 27px);
	right: 40px;
	display: flex;
	justify-content: center;
    align-items: center;
	color: #666;
	font-size: 3em;
	font-weight: normal;
}
.news_wrapper .link_button01 {
    width: 100%;
    max-width: 240px;
    margin: 0 auto;
}



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

	製品情報

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

/* ==================================================
	製品情報のコンテンツ（共通）
================================================== */

.line_up_wrapper {
	width: 100%;
	max-width: 1200px;
	padding: 40px 0 0;
	/*padding: 80px 0 0;*/
	margin: 0 auto;
}
[class^="line_up_contents"] .line_up_title h3 {
	font-family: 'Sawarabi Mincho', sans-serif;
	font-size: 1.8em;
	font-weight: normal;
	letter-spacing: .05em;
	margin: 0;
}
[class^="line_up_contents"] .line_up_title p {
	position: relative;
	color: #333;
	font-size: 1.45em;
	padding-left: 3.25em;
	text-indent: -3em;
	margin: .75em 0 0;
}
[class^="line_up_contents"] .line_up_title p:before {
	content: '';
	display: inline-block;
	width: 40px;
	height: 1px;
	background: #333;
	margin: 0 1.15em .3em 0;
}
[class^="line_up_contents"] .line_up_text p {
	font-size: 1.15em;
	line-height: 1.75em;
}

/* ==================================================
	製品情報のコンテンツ（フレックスタイプ）
================================================== */

.line_up_img img {
	width: 100%;
}
[class^="line_up_contents"] + [class^="line_up_contents"] {
	margin: 48px 0 0 0;
}
[class^="line_up_contents"].flex {
	display: flex;
	justify-content: space-between;
    align-items: flex-start;
}
[class^="line_up_contents"].flex .line_up_img {
	width: 37.5%;
	max-width: 450px;
	overflow: hidden;
}
[class^="line_up_contents"].flex:nth-child(even) .line_up_img  {
	order: 1;
}
[class^="line_up_contents"].flex .line_up_box {
	width: calc(62.5% - 80px);
}

[class^="line_up_contents"].flex .line_up_box .line_up_title {
	background: #EEE;
	padding: 28px 40px 20px;
}
[class^="line_up_contents"].flex .line_up_box .line_up_text {
	max-width: 565px;
	margin: 0 auto;
	padding: 28px 40px;
}
[class^="line_up_contents"].flex .line_up_box .line_up_text p {
}
 [class^="line_up_contents"].flex .line_up_box .link_button01 {
	padding: 0 40px;
}
[class^="line_up_contents"].flex .line_up_box .link_button01 a {
	margin: auto 0 auto auto;
}
.line_up_wrapper .line_up_contents02 .line_up_title p {
	max-width: 390px;
}

/* ==================================================
	製品情報のコンテンツ（写真なしタイプ）
================================================== */

.line_up_wrapper .line_up_contents03 {
	background: #EEE;
	padding: 40px 20px 20px;
	margin: 60px 0 0;
}
.line_up_wrapper .line_up_contents03 .line_up_title h3 {
	display: flex;
	align-items: center;
	justify-content: center;  /* 全幅で線を引く場合は不要。 */
}
.line_up_wrapper .line_up_contents03 .line_up_title h3:before,
.line_up_wrapper .line_up_contents03 .line_up_title h3:after {
	border-top: 1px solid;
	content: "";
	/* flex-grow: 1; ※ 全幅で線を引く場合。widthで線幅を短くしたい場合は不要もしくは0（初期値が0だから） */
	width: 100px; /* 全幅で線を引く場合は不要。 */
}
.line_up_wrapper .line_up_contents03 .line_up_title h3:before {
	margin-right: 2rem;
}
.line_up_wrapper .line_up_contents03 .line_up_title h3:after {
	margin-left: 2rem;
}
.line_up_wrapper .line_up_contents03 .line_up_text {
	width: 100%;
	max-width: 578px;
	padding: 32px 0 24px;
	margin: 0 auto;
}
.line_up_wrapper .line_up_contents03 .line_up_text p {
	text-align: center;
}
.line_up_wrapper .line_up_contents03 .link_button01 {
	width: 100%;
	max-width: 240px;
	margin: 0 auto;
}
.line_up_wrapper .line_up_contents03 .link_button01 > p {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #008435;
	padding: .75em 0 0;
}
.line_up_wrapper .line_up_contents03 .link_button01 > p:before {
  font-family: 'FontAwesome';
  content: "\f023";
  display: block;
  font-size: 1.5em;
  padding-right: .5em;
}



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

	SANEI × 事業情報

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

.job02_wrapper {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

/* ==================================================
	スライドショー
================================================== */

.job02_slide {
	position: relative;
	width: 100%;
	max-width: 1050px;
	margin: 0 auto;
	overflow: hidden;
}
.swiper-container02 {
	width: 100%;
}
.swiper-container02 .swiper-slide,
.swiper-container02 .swiper-slide .slide_img {
	width: 100%;
}
.swiper-container02 .swiper-slide {
	position: relative;
	height: 100%;
}
.swiper-container02 .swiper-slide .slide_img {
	height: 0;
    /* 表示画像の高さ ÷ 表示画像の幅 × 100 */
    padding-top: 56.25%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.swiper-container02 .swiper-slide .slide_note {
	box-sizing: border-box;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	padding: 0 40px 20px;
	background: rgba(0,0,0,.5);
}
.swiper-container02 .swiper-slide .slide_note p {
	color: #FFF;
	margin: 0;
}
.swiper-container02 .swiper-slide .slide_note .slide_note_title {
	font-family: 'Sawarabi Mincho', sans-serif;
	font-size: 1.4em;
	font-weight: normal;
	letter-spacing: .05em;
}

/* ==================================================
	事業情報のコンテンツ
================================================== */

.job02_wrapper > div + div {
	padding: 40px 0 0;
}
.job02_wrapper .job02_contents01 .job02_head {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 50px;
	overflow: hidden;
	margin-bottom: 32px;
}
.job02_wrapper .job02_contents01 .job02_head .logo_wrap {
	position: relative;
	width: 100%;
	max-width: 150px;
	height: 100%;
}
.job02_wrapper .job02_contents01 .job02_head .logo_wrap svg {
    position: absolute;
    top: 0;
    left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	fill: #008435;
}
.job02_wrapper .job02_contents01 .job02_head > p {
	display: flex;
    font-family: 'Sawarabi Mincho', sans-serif;
    font-size: 2em;
}
.job02_wrapper .job02_contents01 .job02_head > p:before {
	content: '×';
	display: block;
	font-size: 1.8em;
	padding: 0 .35em 0 .5em;
}

.job02_wrapper .job02_contents01 .job02_title h3 {
	display: flex;
	align-items: center;
	justify-content: center;  /* 全幅で線を引く場合は不要。 */
    font-family: 'Sawarabi Mincho', sans-serif;
    font-size: 1.8em;
    font-weight: normal;
    letter-spacing: .05em;
    margin: 0;
}
.job02_wrapper .job02_contents01 .job02_title h3:before,
.job02_wrapper .job02_contents01 .job02_title h3:after {
	border-top: 1px solid;
	content: "";
	/* flex-grow: 1; ※ 全幅で線を引く場合。widthで線幅を短くしたい場合は不要もしくは0（初期値が0だから） */
	width: 100px; /* 全幅で線を引く場合は不要。 */
}
.job02_wrapper .job02_contents01 .job02_title h3:before {
	margin-right: 2rem;
}
.job02_wrapper .job02_contents01 .job02_title h3:after {
	margin-left: 2rem;
}
.job02_wrapper .job02_contents01 .job02_text {
	width: 100%;
	padding: 32px 0 24px;
	margin: 0 auto;
}
.job02_wrapper .job02_contents01 .job02_text p {
	font-size: 1.15em;
    line-height: 1.75em;
	text-align: center;
}
.job02_wrapper .job02_contents01 .link_button01 {
	width: 100%;
	max-width: 240px;
	margin: 0 auto;
}
.job02_wrapper .job02_contents01 .link_button01 > p {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #008435;
	padding: .75em 0 0;
}
.job02_wrapper .job02_contents01 .link_button01 > p:before {
  font-family: 'FontAwesome';
  content: "\f023";
  display: block;
  font-size: 1.5em;
  padding-right: .5em;
}



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

	会社情報

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

/* ==================================================
	会社情報のコンテンツ
================================================== */

#company .contents_bg {
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	background: url(../img/top/bg_company.jpg) center 25% no-repeat;
	background-size: cover;
}
#company .contents_area {
	width: calc(100% - 80px);
	max-width: 800px;
	background: rgba(0,0,0,.5);
	padding: 40px 40px 60px;
	margin: 60px 0;
}
#company .contents_area [class^="top_contents_title"] h2,
#company .contents_area [class^="top_contents_title"] h2 span {
	color: #FFF;
}
#company .contents_area [class^="top_contents_title"] h2 span {
	padding-top: .5em;
}
#company .contents_area [class^="top_contents_title"] h2 span:before {
	background: #FFF;
	margin: 0 auto .5em;
}
.link_button_flex {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	max-width: 510px;
	margin: 0 auto;
}
.link_button_flex a {
	width: calc(50% - 15px);
	max-width: 240px;
	height: 48px;
	font-size: 1.2em;
	padding: 0 20px;
}
.link_button_flex a:hover {
	color: #FFF;
	background: #008435;
	border: #008435 solid 1px;
}
#company .contents_area div + div {
	margin-top: 60px;
}



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

	採用情報

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

.recruit_wrapper {
    width: 100%;
    max-width: 1200px;
    padding: 40px 0 0;
	margin: 0 auto;
}

/* ==================================================
	採用情報のコンテンツ
================================================== */

.recruit_wrapper .recruit_contents01 > div:first-child {
	margin: 0 auto;
}
.recruit_wrapper .recruit_contents01 > div + div {
	margin: 24px auto 0;
}

.recruit_wrapper .recruit_contents01 .recruit_text {
	width: 100%;
	max-width: 485px;
}
.recruit_wrapper .recruit_contents01 .recruit_text p {
	font-size: 1.15em;
	line-height: 1.75em;
	text-align: center;
}

/* バナー箇所 */
.recruit_wrapper .recruit_contents01 .link_banner01 {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	max-width: 800px;
}
.recruit_wrapper .recruit_contents01 .link_banner01 a {
	display: block;
	width: calc(50% - 15px);
}
.recruit_wrapper .recruit_contents01 .link_banner01 a [class^="banner_contents"] {
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: center;
	width: 100%;
}
.recruit_wrapper .recruit_contents01 .link_banner01 a [class^="banner_contents"] > div {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
}
.recruit_wrapper .recruit_contents01 .link_banner01 a [class^="banner_contents"] .banner_img {
	padding: 20px 40px;
}
.recruit_wrapper .recruit_contents01 .link_banner01 a [class^="banner_contents"] .banner_img svg {
	width: 100%;
	max-width: 250px;
	z-index: 1;
}
.recruit_wrapper .recruit_contents01 .link_banner01 a [class^="banner_contents"] .banner_title {
	padding: 1em;
}
.recruit_wrapper .recruit_contents01 .link_banner01 a [class^="banner_contents"] .banner_title p {
	font-size: 1.15em;
}

/* バナー：募集中 */
.recruit_wrapper .recruit_contents01 .link_banner01 a.wanted {
	position: relative;
	background: #FFF;
	border: #008435 solid 1px;
	z-index: 1;
	transition: all .5s ease-out;
}
.recruit_wrapper .recruit_contents01 .link_banner01 a.wanted [class^="banner_contents"] {
	position: relative;
	overflow: hidden;
}
.recruit_wrapper .recruit_contents01 .link_banner01 a.wanted [class^="banner_contents"]:before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	bottom: -100%;
	background: #008435;
	z-index: -1;
	transition: all .5s ease-in;
}
.recruit_wrapper .recruit_contents01 .link_banner01 a.wanted [class^="banner_contents"] .banner_img svg {
	fill: #008435;
	transition: all .7s ease-in-out;
}
.recruit_wrapper .recruit_contents01 .link_banner01 a.wanted [class^="banner_contents"] .banner_title {
	background: #008435;
	border-top: #008435 solid 1px;
}
.recruit_wrapper .recruit_contents01 .link_banner01 a.wanted [class^="banner_contents"] .banner_title p {
	color: #FFF;
}
.recruit_wrapper .recruit_contents01 .link_banner01 a.wanted:hover [class^="banner_contents"] .banner_img svg {
	fill: #FFF;
}
.recruit_wrapper .recruit_contents01 .link_banner01 a.wanted:hover [class^="banner_contents"]:before{
	bottom:0;
}

/* バナー：非募集中 */
.recruit_wrapper .recruit_contents01 .link_banner01 a.unwanted {
	background: #EEE;
	border: #666 solid 1px;
	pointer-events: none;
}
.recruit_wrapper .recruit_contents01 .link_banner01 a.unwanted [class^="banner_contents"] .banner_img svg {
	fill: #666;
}
.recruit_wrapper .recruit_contents01 .link_banner01 a.unwanted [class^="banner_contents"] .banner_title {
	background: #666;
	border-top: #666 solid 1px;
}
.recruit_wrapper .recruit_contents01 .link_banner01 a.unwanted [class^="banner_contents"] .banner_title p {
	color: #EEE;
}

/* リボン 「募集中」 */
.recruit_wrapper .recruit_contents01 .link_banner01 a.wanted .banner_ribbon01 {
  position: absolute;
  top: -5px;
  right: -5px;
  width: 120px;
  height: 120px;
  overflow: hidden;
}
.recruit_wrapper .recruit_contents01 .link_banner01 a.unwanted .banner_ribbon01 {
	display: none;
}
.recruit_wrapper .recruit_contents01 .link_banner01 a.wanted .banner_ribbon01:before,
.recruit_wrapper .recruit_contents01 .link_banner01 a.wanted .banner_ribbon01:after {
  content: "";
  position: absolute;
  background: #00476a;
  width: 5px;
  height: 5px;
  z-index: -1;
}
.recruit_wrapper .recruit_contents01 .link_banner01 a.wanted .banner_ribbon01 span {
  position: absolute;
  top: 15px;
  right: -28px;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
  width: 125px;
  height: 30px;
  background: #008435;
  color: #fff;
  font-size: 16px;
  transform: rotate(45deg);
}
.recruit_wrapper .recruit_contents01 .link_banner01 a.wanted .banner_ribbon01:before {
  top: 0;
  left: 34px;
}
.recruit_wrapper .recruit_contents01 .link_banner01 a.wanted .banner_ribbon01:after {
  bottom: 34px;
  right: 0;
}

.recruit_wrapper .recruit_contents01 .recruit_note {
	width: 100%;
	max-width: 485px;
}
.recruit_wrapper .recruit_contents01 .recruit_note p {
	position: relative;
	width: 100%;
	text-indent: -1em;
	padding-left: 2em;
}
.recruit_wrapper .recruit_contents01 .recruit_note p:before {
	content: '※';
	display: inline-block;
	padding-right: 1em;
}



/* レスポンシブ対応 */

@media (max-width: 980px) {
.pv_content {
    padding: 28px 0 0;
}

.top_contents00 {
    padding: 64px 20px;
}
.top_contents01 {
    padding: 32px 20px;
}
.top_contents02 {
    padding: 32px 20px;
}
.top_contents03 {
    padding: 32px 0 0;
}
.top_contents04 {
    padding: 40px 20px;
}
.top_contents05 {
    padding: 32px 20px;
	margin: 32px auto;
}

.top_info {
    height: auto;
	padding: 10px;
}
.top_info_contents {
	flex-flow: column;
    width: 100%;
}
.top_info_contents > div + div {
	margin-top: 10px;
}
.top_info_contents .top_info_head,
.top_info_contents .top_info_head p {
    line-height: 1;
}
.top_info_contents .top_info_head {
	margin-right: 0;
}
.top_info_contents .top_info_title {
    width: 100%;
}
.top_info_contents .top_info_title a {
    padding: 0 2.75em 0 1em;
}
.top_info_contents .top_info_title a:after {
    right: 15px;
}

.news_wrapper {
    padding: 28px 0 0;
}
.news_list {
	padding: 0 0 24px;
}

.line_up_wrapper {
    padding: 40px 0 0;
}
[class^="line_up_contents"] + [class^="line_up_contents"] {
    margin: 32px 0 0 0;
}
[class^="line_up_contents"].flex .line_up_box {
    width: calc(62.5% - 36px);
}
[class^="line_up_contents"].flex .line_up_box .line_up_title {
    padding: 20px 20px 16px;
}
[class^="line_up_contents"].flex .line_up_box .line_up_text {
    padding: 16px 20px;
}
[class^="line_up_contents"].flex .line_up_box .link_button01 {
    padding: 0 20px;
}
.line_up_wrapper .line_up_contents03 {
    background: #EEE;
    padding: 28px 10px 12px;
}
.line_up_wrapper .line_up_contents03 .line_up_text {
    padding: 16px 0 12px;
}

.job02_wrapper > div + div {
    padding: 28px 0 0;
}
.job02_wrapper .job02_contents01 .job02_head {
    margin-bottom: 18px;
}
.job02_wrapper .job02_contents01 .job02_text {
    padding: 14px 0 16px;
}

#company .contents_area {
    width: calc(100% - 40px);
    padding: 32px 20px;
    margin: 40px 0;
}
#company .contents_area div + div {
    margin-top: 32px;
}

.recruit_wrapper {
    padding: 24px 0 0;
}
}

@media (max-width: 640px) {
.pv_content {
    padding: 24px 0 0;
}

.top_contents00 {
	padding: 48px 10px;
}
.top_contents01 {
	padding: 24px 10px;
}
.top_contents02 {
	padding: 24px 10px;
}
.top_contents04 {
	padding: 40px 10px;
}
.top_contents05 {
	padding: 24px 10px;
	margin: 24px auto;
}

#page_top {
	min-height: 480px;
}
.page_top_head {
	position: absolute;
	top: 50%;
	left: 50%;
	right: auto;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	width: calc(100% - 80px);	
	margin: auto;
}

[class^="top_contents_title"] h2 {
    font-size: 1.7em;
}

.news_wrapper {
    padding: 24px 0 0;
}
.news_title {
	flex-flow: column;
	align-items: flex-start;
    margin-left: 10px;
    margin-right: 40px;
    margin-right: 10px;
}
.news_title dt,
.news_title dd {
	width: 100%;
}
.news_title dt {
	margin-bottom: 10px;
}
/*.news_list {
	padding: 0 0 12px;
}*/
.news_list li a:before {
	top: calc(50% - 21px);
    right: 10px;
    font-size: 2.25em;
	display: none;
}

.line_up_wrapper {
    padding: 36px 0 0;
}
[class^="line_up_contents"].flex {
	flex-flow: column;
}
[class^="line_up_contents"] + [class^="line_up_contents"] {
    margin: 36px 0 0 0;
}
[class^="line_up_contents"].flex .line_up_img,
[class^="line_up_contents"].flex .line_up_box {
    width: 100%;
}
[class^="line_up_contents"].flex .line_up_img + .line_up_box {
	margin-top: 16px;
}
[class^="line_up_contents"].flex .line_up_img {
	max-width: 350px;
    padding: 0 20px;
	margin: 0 auto;
}
[class^="line_up_contents"].flex:nth-child(even) .line_up_img {
    order: 0;
}
[class^="line_up_contents"].flex .line_up_box .line_up_title {
	display: flex;
	flex-flow: column;
    align-items: center;
    justify-content: center;
    padding: 16px 16px 12px;
}
[class^="line_up_contents"] .line_up_title h3,
.job02_wrapper .job02_contents01 .job02_title h3 {
	font-size: 1.7em;
}
[class^="line_up_contents"] .line_up_title p {
	font-size: 1.15em;
    padding-left: 0;
	margin: .5em 0 0;
	text-indent: 0;
}
.line_up_wrapper .line_up_contents02 .line_up_title p {
    max-width: 100%;
}
[class^="line_up_contents"] .line_up_title p:before {
    display: none;
}
[class^="line_up_contents"].flex .line_up_box .line_up_text {
    padding: 12px 16px;
}
[class^="line_up_contents"].flex .line_up_box .link_button01 {
    padding: 0 10px;
}
[class^="line_up_contents"].flex .line_up_box .link_button01 a,
.line_up_wrapper .line_up_contents03 .link_button01,
.line_up_wrapper .line_up_contents03 .link_button01 a {
	max-width: 100%;
    margin: 0 auto;
}
.line_up_wrapper .line_up_contents03 {
    padding: 24px 10px;
}
.line_up_wrapper .line_up_contents03 .line_up_title h3 {
	line-height: 1.35em;
	text-align: center;
}
.line_up_wrapper .line_up_contents03 .line_up_title h3:before,
.line_up_wrapper .line_up_contents03 .line_up_title h3:after {
	display: none;
}
.line_up_wrapper .line_up_contents03 .line_up_text {
    padding: 12px 0 16px;
}

.job02_wrapper > div + div {
    padding: 24px 0 0;
}
.job02_wrapper .job02_contents01 .job02_head {
	flex-flow: column;
    height: 100%;
	margin-bottom: 16px;
}
.job02_wrapper .job02_contents01 .job02_head .logo_wrap {
    height: 40px;
}
.job02_wrapper .job02_contents01 .job02_head > p {
    flex-flow: column;
	font-size: 1.85em;
}
.job02_wrapper .job02_contents01 .job02_head > p:before {
	font-size: 1.65em;
	text-align: center;
	padding: 0;
}
.job02_wrapper .job02_contents01 .job02_title h3:before,
.job02_wrapper .job02_contents01 .job02_title h3:after {
	display: none;
}
.job02_wrapper .job02_contents01 .job02_text {
    padding: 16px 10px 12px;
}
.job02_wrapper .job02_contents01 .link_button01,
.job02_wrapper .job02_contents01 .link_button01 a {
    max-width: 100%;
}

.swiper-container02 .swiper-slide .slide_note {
	display: none;
}

#company .contents_area {
    width: calc(100% - 40px);
    padding: 20px;
    margin: 24px 0;
}
#company .contents_area div + div {
    margin-top: 40px;
}
.link_button_flex {
	flex-flow: column;
}
.link_button_flex a {
    width: 100%;
	padding: 0 5px;
}
.link_button_flex a + a {
	margin-top: 8px;
}

.recruit_wrapper {
    padding: 28px 0 0;
}
.recruit_wrapper .recruit_contents01 .link_banner01 {
	flex-flow: column;
}
.recruit_wrapper .recruit_contents01 > div + div {
    margin: 16px auto 0;
}
.recruit_wrapper .recruit_contents01 .link_banner01 a {
    width: 100%;
}
.recruit_wrapper .recruit_contents01 .link_banner01 a + a {
	margin-top: 16px;
}
}



@media print{
  /*printで適用する内容*/
#page_top {
	overflow: hidden;
	height: 35vh;
	min-height: 100%;
}

.swiper-container01 .swiper-slide {
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: cover;
} 
.swiper-container02 .swiper-slide .slide_img {
	height: 0;
    /* 表示画像の高さ ÷ 表示画像の幅 × 100 */
    padding-top: 35%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.swiper-container01 .slide01,
.swiper-container01 .slide02,
.swiper-container01 .slide03,
.swiper-container01 .slide04,
.swiper-container01 .slide05,
.swiper-container01 .slide06 {
	position: relative;
}
.swiper-container01 .slide01:before,
.swiper-container01 .slide02:before,
.swiper-container01 .slide03:before,
.swiper-container01 .slide04:before,
.swiper-container01 .slide05:before,
.swiper-container01 .slide06:before {
	display: block;
	width: 100%;
	position: absolute;
	top: 50%; /*親要素を起点に上から50%*/
	left: 50%;  /*親要素を起点に左から50%*/
	transform: translateY(-50%) translateX(-50%); /*要素の大きさの半分ずつを戻す*/
	-webkit-transform: translateY(-50%) translateX(-50%);
}
.swiper-container01 .slide01:before {
	content: url(../img/top/bg/signboard01.jpg);
}
.swiper-container01 .slide02:before {
	background-image: url(../img/top/bg/golfjo_unei_support.png);
}
.swiper-container01 .slide03:before {
	background-image: url(../img/top/bg/taiyoko_hatsuden_system.jpg);
}
.swiper-container01 .slide04:before {
	background-image: url(../img/top/bg/bouhan_camera.png);
}
.swiper-container01 .slide05:before {
	background-image: url(../img/top/bg/smoking_room_01.jpg);
}
}
