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

body {font-size:12px;}
.sp {display: block;}
.pc {display: none;}
.left {float: none;}
.right {float: none;}
.flex {display: block;}
.pr,
.pa {position: static;}
.half {width: 100%;}
/**********************************  common *******************************************/
h3.fs27 {
    line-height: 1.25em;
    margin-bottom: 1em;
}
/********************************slide**********************************/
div#slide {
	margin:2em auto 0 auto;
	height: auto;
	position: relative;
	z-index: -1000;
}
div#slide div.slide1 {
	background-image:url("../img/top/slide01_sp.jpg");background-size: cover;
}
div#slide div.slide2 {
	background-image:url("../img/top/slide02_sp.jpg");background-size: cover;
}
div#slide div.slide3 {
	background-image:url("../img/top/slide03_sp.jpg");background-size: cover;
}
div#slide div.slide4 {
	background-image:url("../img/top/slide04_sp.jpg");background-size: cover;
}
div#slide .swiper-slide {
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	padding: 7em 0 13em 0;
}
/********** header *******************/
header#header {
    padding-bottom: 2em;
}
header#header h1 {
    width: 41%;
    margin-top: 0.5em;
}
div#google_translate_element {
    right: 5em;
    top: 1.5em;
    position: absolute;
}
header#header #spnav {
    display: block;
    font-size: 3em;
    position: absolute;
    top: 11%;
    right: 2%;
}
header#header #spnav a i {
	color:#2C3859;
}
header#header #spnav a span {
	font-size: 11px;
	display: block;
	margin-left: 1px;
	color:#2C3859;
	line-height: 0em;
	margin-top: 2px;
}
header#header nav ul#nav {
	z-index:100;
	width:100%;
	margin:0 0 1px 0; padding:0;
	display:none;
	padding-bottom: 3em;
	padding-top: 5em;
	margin-top: 0em;
}
header#header ul li a {
	margin-top: 1em;
    display: inline-block;
}
header#header li a img {
    display: inline-block;
    margin-right: 0.5em;
}
header#header nav ul li {
    margin-right: 0;
    text-align: left;
    padding-left: 20%;
}
/**********************************************top************************************************/
#main_visual {
    margin-top: 6em;
}
#main_visual h2 {
    line-height: 1.55em;
    margin-bottom: 1em;
    font-size: 1.833em;
}
#main_visual h2 span {
    font-size: 0.818em;
}
#main_visual h2 span img {
    width: 9%;
}
section#top_about p.fs16 {
    margin-bottom: 2.25em;
    line-height: 2em;
    width: 96%;
    text-align: left;
    font-size: 0.95rem;
}
section#top_about .flex .flex_item01,
section#top_about .flex .flex_item02 {
    width: 100%;
    padding: 0;
}
section#top_about .flex .flex_item02 img,
section#top_recruit .flex .flex_item01 img {
    margin-top: 2.5em;
    margin-left: auto;
    width: 50%;
    margin-right: auto;
}
section#top_about .flex_item, 
section#top_recruit .flex_item {
	width: 100%;
}
section#top_about .flex_item .text_box, 
section#top_recruit .flex_item .text_box {
    padding-left: 0;
    width: 100%;
    margin-left: 0;
	height: auto;
}
section#top_about h3.fs27,
section#top_recruit h3.fs27 {
    margin-left: 0;
    text-align: center;
	font-size: 2em;
}
section#top_about h3 span,
section#top_recruit h3 span {
    margin-left: 0;
}
section#top_recruit .flex .flex_item02 {
    width: 100%;
    padding: 0;
}
section#top_recruit .flex .flex_item01 {
    width: 100%;
}
section#top_recruit .flex .text_box h4,
section#top_about .flex_item .text_box h4, 
section#top_recruit .flex_item .text_box h4 {
    text-align: center;
}
section#top_recruit ul.roll li {
    float: left;
    width: 180px;
}
section#top_recruit .gld_bg {
    margin-top: 1em;
}
section#page_contact .flex div {
    width: 100%;
}
section#page_contact .flex div a {
    padding: 0.875em 0;
    margin-top: 1em;
	font-size: 1.3em;
}
section#page_contact h3 ,
section#top_map h3 {
    font-size: 1.750em;
}
section#page_contact h3 {
    font-size: 1.750em;
}
.bottom_img {
    margin-top: 2em;
}
section#top_map p {
    font-size: 1.083em;
}
section#top_map iframe,
section#profile iframe {
	height: 250px;
}
a.more {
	text-align: center;
	display: block;
}
section#top_about .flex_item a.more, 
section#top_recruit .flex_item a.more {
    margin-top: 2em;
}
section#top_about .flex_item .text_box dl:last-of-type, 
section#top_recruit .flex_item .text_box dl:last-of-type,
section#top_about p,
section#top_recruit .flex .text_box p {
	margin-bottom: 1em;
}
section#top_about {
    padding: 2em 0 0 0;
    background-size: cover;
}
section#top_recruit {
    padding: 3em 0 0 0;
    background-size: cover;
}
section#top_recruit .line2 {
    margin-bottom: 2em;
}
section#top_about .bg_c,
section#top_recruit  .bg_c {
    margin-top: 3.5em;
    margin-bottom: 5em;
}
section#top_about .bg_c img ,
section#top_recruit  .bg_c img  {
	width: 90%;
}
footer .footer_logo {
    width: 40%;
}
a.more img {
    margin-bottom: 3px;
    width: 7%;
}
section#top_recruit p.fs16 {
    width: 96%;
    font-size: 0.95rem;
}
section#top_staff .flex01 img,
section#top_staff .flex02 img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 90%;
    max-width: 500px;
}
section#top_staff p.ymc {
    margin-top: 2.5em;
    margin-bottom: 2.5em;
    font-size: 1rem;
}
section#top_staff p.ymc span {
    font-size: 1.25rem;
}
section#top_gallery {
    background-position: center top 1em;
    background-size: cover;
    padding-top: 4em;
}
section#top_staff {
    padding: 0em 0 1em 0;
}
section#top_gallery .movie .left {
    width: 96%;
    margin-right: auto;
    margin-left: auto;
    display: block;
    margin-bottom: 1em;
}
section#top_gallery .movie .left:nth-of-type(3n) {
    margin-right: auto;
}
section#top_gallery ul li {
    width: 32%;
    margin-right: 2%;
    margin-bottom: 0.5em;
    float: left;
}
section#top_gallery video:nth-of-type(3n) {
    margin-right: auto;
}
section#top_gallery p.fs32 {
    font-size: 1.25rem;
    letter-spacing: 0.2em;
}
section#top_gallery a.vi_bg,
section#top_recruit a.pp_bg,
section#top_staff a.vi_bg,
section#top_about a.pp_bg {
    width: 50%;
    padding: 0.5em 0.5em;
    font-size: 1rem;
}
section#top_gallery .movie .left dl dt {
    width: 1em;
    padding-right: 0.25em;
    vertical-align: unset;
    font-size: 1.5rem;
}
section#top_gallery .movie .left dl dd {
    font-size: 0.813rem;
}
/*************************recruit******************************************/
body#about main,
body#recruit main,
body#contact main,
body#staff main,
body#gallery main,
body#mail_form main {
    padding-top: 6em;
}
body#about h2,
body#recruit h2,
body#contact h2,
body#staff h2,
body#gallery h2,
body#mail_form h2 {
    line-height: 1.55em;
    margin-bottom: 1em;
	margin-top: 0;
    font-size: 1.833em;
}
body#about h2 span,
body#recruit h2 span,
body#contact h2 span,
body#staff h2 span,
body#gallery h2 span,
body#mail_form h2 span {
    font-size: 0.818em;
}
body#about h2 span img,
body#recruit h2 span img,
body#contact h2 span img,
body#staff h2 span img,
body#gallery h2 span img,
body#mail_form h2 span img {
    width: 9%;
}
section#about_top h3,
section#city h3,
section#profile h3,
section#gallery_top h3,
section#staff_top h3,
section#recruit_top h3 {
    font-size: 2em;
}
section#recruit_top p,
section#contact_form p {
    margin-bottom: 1.5em;
    font-size: 1.25em;
}
section#recruit_top .flex.sp,
section#requirements .flex.sp {
	display: flex;
}
section#recruit_top .flex.sp .flex_item_h4,
section#requirements .flex.sp .flex_item_h4 {
	width: 70%;
}
section#recruit_top .flex.sp .flex_item_img,
section#requirements .flex.sp .flex_item_img {
	width: 15%;
}
section#recruit_top .flex.sp .flex_item_img img {
	max-width: 90px;width: 100%;margin-top: 5em;
}
section#requirements .flex.sp .flex_item_img img {
	max-width: 52px;width: 100%;margin-top: 0;
}
section#recruit_top .flex.sp .flex_item_img img.right,
section#requirements .flex.sp .flex_item_img img.right {
	float: right;margin-right: 5px;
}
section#recruit_top .flex.sp .flex_item_img img.left,
section#requirements .flex.sp .flex_item_img img.left {
	float: left;margin-left: 5px;
}
section#recruit_top .flex {}
section#recruit_top .ceo p {
    margin-bottom: 0.5em;
    margin-top: 1.5em;
    font-size: 1.5em;
    line-height: 1.5em;
}
section#recruit_top .ceo p span {
    font-size: 0.8em;
}
section#requirements .sign_box {
	position: relative;
}
section#requirements .sign_box img {
    max-width: 490px;
    width: 60%;
}
section#requirements .sign_box h3 {
    top: 50%;
    right: 0;
    left: 0;
    position: absolute;
    font-size: 1.5em;
	line-height: 1.25em
}
section#requirements .sign_box h3 span {
    font-size: 0.8em;
}
section#requirements .flex .flex_item {
    width: 100%;
}
section#requirements .flex .flex_item p {
    margin-top: 0.5em;
    font-size: 1.5em;
}
section#requirements .flex .flex_item img {
    margin:2em auto 0 auto;
    display: block;
}
section#recruit_top h4 {
    font-size: 1rem;
}
section#requirements h3.tarn {
    margin-top: 2.5em;
    font-size: 1rem;
}
section#recruit_top p.ygt {
    text-align: left;
}
/* 20200429追加　*/
div.select {
	margin-top: -1.5em;
	padding-bottom: 1.0em;	
}
a.select_on,
a.select_off {
	width: calc(88% - 1em);
	font-size: 1.25em;
	padding: 0.5em 0.5em;
	margin-bottom: 1.0em;
}

a.select_off i {
    font-size: 1.75rem;
}
/********************about********************************************/
section#city {
    background: -moz-linear-gradient(to bottom,#DFDDF7 12%,#FFF 12%);
    background: -webkit-linear-gradient(to bottom,#DFDDF7 12%,#FFF 12%);
    background: linear-gradient(to bottom,#DFDDF7 12%,#FFF 12%);
    padding-top: 3em;
    padding-bottom: 3em;
}
section#about_top p {
    margin-bottom: 1.5em;
    font-size: 0.95rem;
    text-align: left;
}
section#about_top p.lct {
    text-align: center;
}
section#about_top {
    padding-bottom: 1em;
}
section#about_top .flex .flex_item {
    width: 100%;
    margin-bottom: 2em;
}
section#about_top img.sp {
	margin-bottom: 4em;
}
section#city .flex .flex_item,
section#profile .flex,
section#profile .flex .flex_item01,
section#profile .flex .flex_item02 {
    width: 100%;
}
section#profile .flex .flex_item02 {
    margin-top: 0;
}
section#profile {
    padding-top: 3em;
}
section#city .bg_c {
    padding: 2em 0 3em 0;
}
section#city p {
    margin-bottom: 1.25em;
    width: 100%;
    font-size: 0.95rem;
}
section#city .flex .flex_item img {
    margin-left: auto;
    margin-right: auto;
    display: block;
}
section#profile .flex .flex_item02 img {
    width: 60%;
    margin-top: 2em;
}
section#city .sign_box img {
    width: 30%;
}
body#about .sign_box {
    margin-bottom: 3em;
}
section#city .flex {
    margin-top: 3em;
}
/***************************************staff***************************************/
section#staff_top .flex01 .left,
section#staff_top .flex02 .left {
    margin-left: auto;
    margin-right: auto;
    width: 90%;
}
section#staff_top .flex.b_c .left{
    margin-bottom: 0;
    margin-top: 5em;
}
section#staff_top .flex,
section#staff_top .flex.b_c {
    margin-bottom: 0;
}
section#staff_top .flex.b_c {
    margin-top: -2em;
}
section#staff_top p.ymc {
    margin-top: 3em;
    margin-bottom: 2em;
    font-size: 0.938rem;
}
/**************************************gallery**************************************/
section#gallery_top a {
    width: 48%;
    display: block;
    float: left;
    margin-right: 4%;
    margin-bottom: 2em;
}
section#gallery_top a:nth-of-type(3n) {
    margin-right: 4%;
}
section#gallery_top a:nth-of-type(2n) {
    margin-right: 0;
}
/********************contact****************************/
section#contact_form h3 {
    font-size: 1.5em;
}
section#contact_form form p {
    margin-bottom: 1.5em;
    font-size: 1em;
    text-align: left;
    width: 80%;
}
section#contact_form table {
    width: 90%;
}
section#contact_form input[type="submit"] {
    width: 70%;
    font-size: 1.25em;
	margin-top: 2em;
	margin-bottom: 0;
}
body#contact .bottom_img,
body#mail_form .bottom_img {
    margin-top: 3.5em;
}
section#contact_form form {
    margin-top: 2em;
    padding-top: 3em;
    padding-bottom: 3em;
}
/*************************************************************************/
@media (min-width: 376px) and (max-width: 499px) {
section#recruit_top .flex.sp .flex_item_h4,
section#requirements .flex.sp .flex_item_h4 {width: 64%;}
section#recruit_top .flex.sp .flex_item_img,
section#requirements .flex.sp .flex_item_img {width: 18%;}
section#requirements .sign_box img {width: 50%;}
}
/*************************************************************************/
@media (min-width: 500px) and (max-width: 650px) {
section#recruit_top .flex.sp .flex_item_h4,
section#requirements .flex.sp .flex_item_h4 {width: 50%;}
section#recruit_top .flex.sp .flex_item_img,
section#requirements .flex.sp .flex_item_img {width: 25%;}
section#requirements .sign_box img {width: 45%;}
}
/*************************************************************************/
@media (min-width: 651px) and (max-width: 767px) {
section#recruit_top .flex.sp .flex_item_h4,
section#requirements .flex.sp .flex_item_h4 {width: 40%;}
section#recruit_top .flex.sp .flex_item_img,
section#requirements .flex.sp .flex_item_img {width: 30%;}
section#requirements .sign_box img {width: 40%;}
}
/*********************************IE*************************************/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
}














