@charset "UTF-8";/* CSS Document *//*==================================================container=================================================*/html {	background: #FFF;}body {    position: relative;    left: 0;}/* sp menu setting */.layer{    display: none;    width: 100%;    height: 100%;	position: fixed;    top: 0;	left: 0;    background: rgba(0, 0, 0, 0.8);	z-index: 1002!important;}body.open{	width: 100%;}#recruit-wrapper {	width: 100%;	height: 100%;	position: relative;    /*overflow: hidden;*/	margin: 0 auto;}/*==================================================header=================================================*/header {	width: 100%;    position: fixed;	min-width: 100%;	top: 0;	left: 0;	z-index: 1003!important;	background-color: rgba(255, 255, 255, 1);	/* animation */	transition: all 0.3s;}#header-inner {	width: 100%;	position: relative;	overflow: hidden;	display: flex;	flex-flow: row wrap;	justify-content: flex-end;	-webkit-transition: all 0.3s;	transition: all 0.3s;	padding: 20px 0 20px;}#header-inner::before {	content: " ";	display: block;	opacity: 0;	width: 100vw;	height: 100vh;	position: absolute;	background-image: url("../../images/menu_bg.jpg");	background-position: center bottom;	background-repeat: no-repeat;	background-size: cover;	top: 0;	left: 0;	z-index: 1;	transition: all 1s;}.open #header-inner {    background-color: #231815;}.open #header-inner::before {    opacity: 1;}.headerbg {	background-color: rgba(255, 255, 255, 1);}/* header PC */#header-logo {	width: 50%;	max-width: 520px;	position: absolute;	line-height: 0;    top: 50%;	left: 5%;	transform: translate(0, -50%);    z-index: 5!important;}.open #header-logo {    display: none;}#header-logo span {    display: inline-block;    color: #231815;    font-size: clamp(1rem, 1.6vw, 1.6rem);    font-weight: 500;    line-height: 100%;    padding-left: 1.3em;    vertical-align: middle;    z-index: 1;}.headerbg #header-logo {    width: 50%;}/* header img */#header-logo img {    display: inline-block;	width: 55%;	max-width: 230px;	height: auto;    vertical-align: middle;}/* header SP */.header-spmenu {	width: 70px;    height: 70px;    cursor: pointer;    position: relative;	text-align: center;	background-color: #231815;    border-radius: 8px;    margin-right: 3%;    z-index: 2;}.open .header-spmenu {    }.header-spmenu > div {    width: 38px;    height: 29px;    position: absolute;    top: 50%;    left: 50%;	transform: translate(-50%, -50%);    z-index: 1;}.header-spmenu > div span,.header-spmenu > div span::before,.header-spmenu > div span::after {    content: " ";	display: block;    position: absolute;    width: 100%;    height: 4px;    background-color: #FFF;    transform-origin: center center;    z-index: 1;        transition: all 0.3s;}.header-spmenu > div span {    top: 50%;	transform: translate(0, -50%);}.header-spmenu > div span::before {    top: -12px;}.header-spmenu > div span::after {    bottom: -12px;}.open .header-spmenu > div span {    background-color: transparent;}.open .header-spmenu > div span::before {    top: 0;    transform: rotate(45deg);}.open .header-spmenu > div span::after {    bottom: 0;    transform: rotate(-45deg);}.header-spmenu img {	width: 100%;	max-width: 100%;	height: auto;}/*==================================================Navi=================================================*/nav {	width: 100%;    height: 0;    position: relative;    overflow: hidden;        opacity: 0;    top: -5vh;    left: 0;    z-index: 10;        /* animation */    transition: all .5s;}.open nav {    height: 100vh;    opacity: 1;    top: 0;}.open nav {    overflow: auto;    -webkit-overflow-scrolling: touch;}.open nav::-webkit-scrollbar {    width: 10px;}.open nav::-webkit-scrollbar-track {    border-radius: 0;    background-color: #CCC;}.open nav::-webkit-scrollbar-thumb {    border-radius: 0;    background-color: #999;}nav .nav-inner {    width: 90%;    max-width: 1100px;    position: relative;    display: flex;    flex-flow: row wrap;    justify-content: space-between;    margin: 0 auto;    padding-bottom: 90px;}nav .nav-inner .entry-sns {    width: 100%;    display: flex;    flex-flow: row wrap;    align-items: center;     margin: 60px auto 0;}nav .nav-inner .entry {    width: 30%;    max-width: 580px;    display: block;    position: relative;    overflow: hidden;    margin-right: 2%;}nav .nav-inner > ul {    width: 30%;	position: relative;    margin: 0 auto;}nav .nav-inner > ul li {    width: 100%;    transition: all .8s;}nav .nav-inner > ul li a {    width: 100%;    display: block;    position: relative;    color: #FFF;    font-size: clamp(1.4rem, 2vw, 2rem);    line-height: 160%;    text-decoration: none;    padding: .4em 0;}nav .nav-inner > ul li ul li a {    font-size: clamp(1.4rem, 1.6vw, 1.6rem);    line-height: 160%;    padding: .4em 1em .4em .8em;}nav .nav-inner > ul li ul li a::before {    content: "・";	display: block;    position: absolute;    width: 1em;    color: #fed900;    padding: .4em 0;    top: 0;    left: 0;    z-index: 1;}nav img {    width: 100%;	max-width: 100%;	height: auto;}.scroll-photo {    width: 100%;    position: relative;    overflow: hidden;    margin-top: 80px;    z-index: 0;}.scroll-photo div {    width: 100%;}.scroll-photo img {    width: 100%;	max-width: 100%;	height: auto;}.close-button {    width: 30%;    max-width: 350px;    position: relative;    cursor: pointer;    font-size: clamp(1.4rem, 1.6vw, 1.6rem);    color: #FFF;    background-color: #AAA;    border-radius: 40px;    text-align: left;    margin-top: 40px;    padding: .6em 1em .6em 2em;    transition: all 0.3s;    z-index: 1;}.close-button::after {    content: " ";	display: block;    position: absolute;    width: 15px;    height: 15px;    background-color: #fff;    clip-path: polygon(10% 0, 0 10%, 40% 50%, 0 90%, 10% 100%, 50% 60%, 90% 100%, 100% 90%, 60% 50%, 100% 10%, 90% 0, 50% 40%);    top: 50%;    right: 5%;	transform: translate(0, -50%);    z-index: 1;}.close-button:hover {    color: #AAA;    background-color: #FFF;}.close-button:hover::after {    background-color: #AAA;}.pc-only {	display: block;}.sp-only {	display: none;}/*==================================================contents=================================================*/#contents {	width: 100%;	position: relative;    overflow: hidden;	margin: 4em auto 8em;	z-index: 10!important;}#contents-top {	width: 100%;	position: relative;    overflow: hidden;	margin: 0 auto;	z-index: 10!important;}.list-item li {    position: relative;    line-height: 160%;    padding-left: 1em;}.list-item li::before {    content: "・";    width: 1em;	display: block;    position: absolute;    text-align: right;    top: 0;    left: 0;    z-index: 1;}.youtube {	width: 100%;	position: relative;}.youtube::before {    content:'';    display: block;    padding-top: 56.25%;}.youtube iframe {    width: 100% !important;	height: 100% !important;	position: absolute;	top: 0;	right: 0;}.fl-box {	width: 100%;	display: -webkit-box;	display: -ms-flexbox;	display: flex;	-webkit-box-orient: horizontal;	-webkit-box-direction: normal;	-ms-flex-flow: row wrap;	flex-flow: row wrap;		-webkit-box-pack: justify;	-ms-flex-pack: justify;	justify-content: space-between;    }.fl-box .txt {    width: 48%;}.fl-box .photo {    width: 48%;    max-width: 480px;}.fl-box figure {    width: 48%!important;    max-width: 45%!important;    margin: 5% 0 0;}.fl-box figure figcaption {    font-size: 1.4rem!important;    text-align: center!important;    margin-top: 3%;}.fl-box figure img {    width: 100%!important;	max-width: 100%!important;	height: auto!important;}.dot-item {	width: 100%;	height: 100%;	position: absolute;	/*background: url('../images/dot.png') repeat;*/	background-size: auto;	top: 0;	left: 0;	z-index: 1;}.anchor-wrap {	position: relative;}.anchor-item {	width: 1px;	height: 1px;	position: absolute;	top: -80px;	left: 0;}/* 印刷時 */@media print {	header {		position: absolute;	}}/*==================================================button=================================================*//* ボタン */.button {	width: 100%;	max-width: 350px;	display: block;	position: relative;	cursor: pointer;    text-align: left;    font-size: clamp(1.4rem, 1.6vw, 1.6rem);    line-height: 100%;    color: #231815;    background-color: #fed900;    text-decoration: none!important;    border-radius: 40px;    padding: 1em 1em 1em 2em;        overflow: hidden;        /* animation */    transition: all 0.2s;    z-index: 1;}/* button arrow */.button::after {    content: " ";	display: block;    position: absolute;    width: 26px;    height: 26px;    background-color: #231815;    background-image: url("../../images/arrow.svg");    background-position: center center;    background-repeat: no-repeat;    background-size: 28%;    clip-path: circle(48% at 50% 50%);    top: 50%;    right: 15px;	transform: translate(0, -50%);    z-index: 2;}.button::before {    content: " ";	display: block;    position: absolute;    width: 100%;    height: 100%;    background-color: #FFF;    top: 0;    left: -100%;    transition: all 0.2s;    z-index: 1;}.button span {    display: block;    position: relative;	 color: #231815!important;    text-decoration: none!important;    z-index: 2;}@media (hover: hover) {    .button:hover {        opacity: 1;    }    .button:hover::before {        left: 0;    }}@keyframes Arrow_to {    0% {        left: 50%;    }    30% {        left: 150%;    }    40% {        left: 150%;        opacity: 0;    }    45% {        left: 0;        opacity: 0;    }    55% {        left: 50%;        opacity: 1;    }    100% {        left: 50%;        opacity: 1;    }}[class^="button"] {		/* animation */		-webkit-transition: all 0.3s;	transition: all 0.3s;}/*==================================================map=================================================*/.map {	width: 100%;	height: 500px;	position: relative;	overflow: hidden;	margin: 0;}.map iframe,.map object,.map embed {	position: absolute;	top: 0;	left: 0;	width: 100%;	height: 100%;}/*==================================================table=================================================*/.data-t-style {    width: 100%;    font-size: clamp(1rem, 1.6vw, 1.6rem);    line-height: 160%;    border: 1px solid #CCC;    background-color: #FFF;    margin: 0 auto;}.data-t-style tr:nth-of-type(odd) {    background-color: #FFF;}.data-t-style th {    width: 16em;    color: #019095;	text-align: left;	font-weight: 500;    border-left: 5px solid #019095;    border-bottom: 1px solid #CCC;	background: #e5f4f4;	padding: 1em 1em;}.data-t-style td {	text-align: left;    border-right: 1px solid #CCC;    border-bottom: 1px solid #CCC;	padding: 1em 1em;}/*==================================================privacy=================================================*/.privacy .inner {    width: 90%;    max-width: 1000px;    margin: 0 auto;}.privacy .inner h2 {    color: #003595;    margin: 2em 0 .5em;}.privacy .inner h3 {    color: #003595;    border-bottom: 2px solid #003595;    margin: 2em 0 .5em;    padding-bottom: .5em;}.privacy .inner .number-list {    list-style-type: decimal;    list-style-position: inside;    text-indent: -1em;    padding-left: 1em;}/*==================================================footer=================================================*/.pagetop {	width: 150px;	height: 45px;	position: fixed;	right: -150px;	bottom: 50px;	z-index: 1001!important;		/* animation */	-webkit-transition: all 0.3s;	transition: all 0.3s;}.pagetop-visible {	right: 0;}.pagetop img {    width: 100%;	max-width: 100%;	height: auto;}#footer-pagetop {	width: 100%;	max-width: 49px;	text-align: center;	margin: 5% auto 0;}footer {	width: 100%;    position: relative;    background-color: #231815;    border-bottom: 8px solid #fed900;    z-index: 6!important;}footer img {	width: 100%;	max-width: 100%;	height: auto;}footer .footer-bottom {    width: 100%;    position: relative;    padding: 80px 0 50px;}footer .footer-bottom .inner {    width: 90%;    max-width: 1400px;    display: flex;    flex-flow: row wrap;    justify-content: space-between;    margin: 0 auto;}footer .footer-bottom .inner .footer-logo {    width: 40%;    max-width: 245px;}footer .footer-bottom .inner .footer-logo h1 {    line-height: 100%;    margin-bottom: 30px;}footer .footer-bottom .inner .footer-logo img {    width: 100%;	max-width: 189px;	height: auto;}footer .footer-bottom .inner .footer-menu {    width: 55%;	position: relative;    display: flex;    flex-flow: row wrap;    justify-content: space-between;}footer .footer-bottom .inner .footer-menu > ul {    width: 31%;    padding-left:2.33%; }footer .footer-bottom .inner .footer-menu ul li a {    width: 100%;    display: block;    position: relative;    color: #FFF;    font-size: clamp(1.4rem, 1.6vw, 1.6rem);    line-height: 160%;    text-decoration: none;    padding: .4em 0;}footer .footer-bottom .inner .footer-menu ul li ul li a {    position: relative;    font-size: clamp(1.2rem, 1.4vw, 1.4rem);    padding: .2em 0 .2em .8em;}footer .footer-bottom .inner .footer-menu ul li ul li a::before {    content: "・";	display: block;    position: absolute;    width: 1em;    top: 0;    left: 0;    padding: .2em 0;    z-index: 1;}footer #copyright {    width: 90%;    max-width: 1400px;    display: flex;    flex-flow: row wrap;    justify-content: space-between;    margin: 0 auto;    padding: 60px 0 0;}footer #copyright p {    width: 50%;    color: #FFF;    font-size: clamp(1.2rem, 1.4vw, 1.4rem);    line-height: 160%;    margin: 0 auto;    padding: 10px 0;}footer #copyright p:nth-last-of-type(1) {    text-align: right;}footer #copyright p a {    color: #FFF;    text-decoration: none;}/*==================================================size m=================================================*/@media only screen and (min-width:1px) and (max-width: 768px) {		#recruit-wrapper {		width: 100%;		min-width: 100%;	}		/*==================================================		header	=================================================*/		header {		width: 100%;		min-width: 100%;		position: fixed;		background-color: rgba(255, 255, 255, 1);	}    #header-logo {        width: 65%;        max-width: 360px;        left: 3%;    }    #header-logo span {        display: inline-block;        padding-left: 1em;    }    .headerbg #header-logo {        width: 65%;    }    /* header img */    #header-logo img {        width: 55%;        max-width: 280px;        vertical-align: sub;    }    #header-inner {        padding: 10px 0 10px;    }	.header-spmenu {        width: 50px;        height: 50px;    }    .header-spmenu > div {        width: 25px;        height: 16px;        position: absolute;        top: 50%;        left: 50%;        transform: translate(-50%, -50%);        z-index: 1;    }    .header-spmenu > div span,    .header-spmenu > div span::before,    .header-spmenu > div span::after {        height: 3px;    }    .header-spmenu > div span {        top: 50%;        transform: translate(0, -50%);    }    .header-spmenu > div span::before {        top: -9px;    }    .header-spmenu > div span::after {        bottom: -9px;    }    .open nav::-webkit-scrollbar {        width: 10px;    }    nav .nav-inner {        width: 90%;        position: relative;        margin: 0 auto;        padding-bottom: 180px;    }    nav .nav-inner > ul {        width: 100%;        position: relative;        display: flex;        flex-flow: row wrap;        margin: 0 auto;    }    nav .nav-inner > ul > li {        width: 50%;        padding-right: 4%;    }    nav .nav-inner > ul li a {        padding: .6em 0;    }    nav .nav-inner > ul > li.full {        width: 100%;    }    nav .nav-inner > ul > li.full ul {        display: flex;        flex-flow: row wrap;    }    nav .nav-inner > ul > li.full ul li {        width: 48%;        margin-left: 2%;    }    nav .nav-inner > ul li ul li a {        padding: .2em 1em .2em .8em;    }    nav .nav-inner > ul li ul li a::before {        padding: .2em 0;    }    nav .nav-inner .entry-sns {        width: 100%;        flex-direction: column;        align-items: center;         margin: 8% auto 0;    }    nav .nav-inner .entry {        width: 100%;        max-width: 100%;        margin-bottom: 5%;    }    nav .nav-inner .entry a {        margin: 0 auto;    }    .scroll-photo {        width: 100%;        margin-top: 8%;        z-index: 0;    }    .scroll-photo div {        width: 120%;    }    .close-button {        width: 90%;        max-width: 350px;        text-align: left;        margin: 20px auto 0;        padding: 1em 1em 1em 2em;        z-index: 1;    }    .close-button::after {        content: " ";        width: 12px;        height: 12px;        z-index: 1;    }	.sp-only {		display: block;	}	.pc-only {		display: none;	}        	/*==================================================		contents	==================================================*/	    .fl-box {        width: 100%;        display: block;    }    .fl-box .txt {        width: 100%;    }    .fl-box .photo {        width: 100%;        margin: 5% auto 0;    }    .fl-box figure {        width: 100%!important;        max-width: 100%!important;        margin: 5% 0 0;    }    	#contents {		margin: 3em auto 6em;	}    #contents-top {        margin: 0 auto;    }	.anchor-item {		top: -100px;	}    .button {        padding: 1.2em 1em 1.2em 2em;    }    .button::after {        width: 20px;        height: 20px;    }    .link-c {        width: 11%;        display: block;    }    .link-c div {        width: 100%;        position: relative;        border-radius: 50%;        border: 1px solid #FFF;        padding-top: 90%;    }    .paging {        margin: 8% auto 0;    }    .paging li a {        padding: .4em .8em;    }    	/*==================================================		map	==================================================*/		.map {		width: 100%;		height: 350px;	}		/*==================================================		table	==================================================*/		.data-t-style {        width: 100%;        line-height: 160%;        border: 1px solid #CCC;        background-color: #FFF;        margin: 0 auto;    }    .data-t-style th {        width: 11em;        color: #019095;        text-align: left;        border-left: 3px solid #019095;        padding: 1em .5em;    }    .data-t-style td {        text-align: left;        padding: 1em .5em;    }    .list-t-style {        margin: 2% auto 0;    }    .list-t-style th {        width: 8em;        padding: 1em .5em;    }    .list-t-style td {        padding: 1em .5em;    }		/*==================================================		footer	=================================================*/	    .pagetop {        bottom: 100px;    }	.pagetop-visible {		right: -100px;	}    footer .footer-bottom {        width: 100%;        position: relative;        padding: 8% 0 80px;    }    footer .footer-bottom .inner {        flex-direction: column;        align-items: center;         margin: 0 auto;    }    footer .footer-bottom .inner .footer-logo {        width: 80%;        text-align: center;        margin-bottom: 5%;    }    footer .footer-bottom .inner .footer-logo .button {        margin-top: 8%;    }    footer .footer-bottom .inner .footer-menu {        width: 90%;        position: relative;        margin: 0 auto;        padding-left: 0;    }    footer .footer-bottom .inner .footer-menu > ul {        width: 100%;        display: flex;        flex-flow: row wrap;        justify-content: space-between;    }    footer .footer-bottom .inner .footer-menu > ul > li {        width: 48%;    }    footer .footer-bottom .inner .footer-menu > ul > li > a {        padding: .4em 0;    }    footer .footer-bottom .inner .footer-menu > ul > li.full {        width: 100%;    }    footer .footer-bottom .inner .footer-menu > ul > li.full ul {        display: flex;        flex-flow: row wrap;        justify-content: space-between;    }    footer .footer-bottom .inner .footer-menu > ul > li.full ul li {        width: 48%;    }    footer .footer-bottom .inner .footer-menu ul li ul li a {        padding: .1em 0 .1em .8em;    }    footer .footer-bottom .inner .footer-menu ul li ul li a::before {        padding: .1em 0;        z-index: 1;    }    footer #copyright {        flex-direction: column;        padding: 20px 0;    }    footer #copyright p {        width: 100%;        text-align: center;        margin: 0 auto 10px;        padding: 0;    }    footer #copyright p:nth-last-of-type(1) {        text-align: center;    }}/*==================================================size s==================================================*/@media only screen and (min-width:1px) and (max-width: 568px) {			/*==================================================		header	==================================================*/			/*==================================================		Navi	==================================================*/			/*==================================================		contents	==================================================*/			/*==================================================		footer	==================================================*/}@media only screen and (min-width:1px) and (max-width: 480px) {			/*==================================================		header	==================================================*/		/*==================================================		Navi	==================================================*/			/*==================================================		contents	==================================================*/			/*==================================================		table	==================================================*/			/*==================================================		footer	==================================================*/		}