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

body {
    font-size: 16px;
    font-family: 'Libre Caslon Text', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", 'Noto Sans JP', sans-serif;
    font-weight: 400;
	height:100%;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
}
img {
	border:none; vertical-align:middle;
}
img.top {
	vertical-align:top;
}
img.middle {
	vertical-align:middle;
}
em {
	font-style:normal;
}
a {
	color:#000;
	text-decoration: none;
}
a i {
	margin-left: 5px;
	margin-right: 5px;
}
a:hover,
input[type="submit"]:hover,
input[type="reset"]:hover{
	opacity:0.8;
	filter:alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
	transition: 0.2s;
}
ul {
	padding-left: 0;
}
li {
	list-style-type:none;
}
header, main, article, footer, section, aside, nav, cite, figure, figcaption {
	display: block; 
}
h1,h2,h3,h4,h5,h6,p {
	margin-top: 0;
	margin-bottom: 0;
}
/************************ float **********************************************/
.c-both {
	clear:both;
}
.clearfix:after {
	content: "";
	clear: both;
	display: block;
}
.left {
	float:left;
}
.right {
	float:right;
}
.center {
	display:block;
	margin-left:auto; margin-right:auto;
	text-align:center;
}
/******* end float **********/
/******* flex box ***********/
.flex{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
	justify-content: space-between;
}
.flex_re {
	flex-flow: row-reverse;
}
.flex_s {
	justify-content: flex-start;
}
.flex img {
    object-fit: cover;
    object-position: top;
}
.height {
	justify-content: space-between;
  	flex-wrap: wrap;
	align-items: stretch;
}
/****** end flex box ********/
.inner {
	width:96%; max-width:1830px;
	margin-left:auto; margin-right:auto;
}
.middle_inner,
.barba-container {
	width: 96%; 
	max-width:1080px;
	margin-left:auto; margin-right:auto;
}
.lower_inner {
	width: 86%; max-width:860px;
	margin-left:auto; margin-right:auto;
}
.half {
	width:50%;
}
span.hissu {
	color:#F03;
	font-size:12px;
}
span.memo {
    color: #666;
    font-size: 1em;
    font-weight: 400;
    margin-top: 1.5em;
    display: block;
    text-align: left;
}
span.error {
	display:block;
	color:#F03;
	font-size:12px;
	text-align: left;
	margin-left: 1.5em;
}
.dpb {
	display: block
}
.heading {
	width: 100%;
}
.sp {
	display:none;
}
.pc {
	display:block;
}
.pr {
	position: relative;
}
.pa {
	position: absolute;
}
/*************** end class ***************************************************************/
main {
	width:100%;
	overflow:hidden;
}
.ls02{letter-spacing: 0.0025em}
.ls05{letter-spacing: 0.005em}
.ls07{letter-spacing: 0.0075em}
.ls10{letter-spacing: 0.1em}
.ls15{letter-spacing: 0.15em}
.ls20{letter-spacing: 0.2em}
.ls25{letter-spacing: 0.25em}
.ls30{letter-spacing: 0.3em}
.ls40{letter-spacing: 0.4em}
/**********************************  color     *****************************************/
.wh_bg {background-color: #FFF;}
.gr_bg {background-color: #5E5E5E;}
.lav_bg {background-color: #DBEBF9;}
.beg_bg {background-color: #F9F7F2;}
.grn_bg {background-color: #76CF76;}
.gld_bg {background-color: #F1EFE2;}
.vi_bg {background-color: #8577D2;}
.pp_bg {background-color: #9E71C8;}
.pp2_bg {background-color: #905AC0;}
.pp3_bg {background-color: #FAEDEF;}
.pp4_bg {background-color: #F9EEFF;}
.fji_bg {background-color: #F1E9F3;}
.fcw {color: #fff;}
.fcg1 {color: #3A3A3A;}
.fcg2 {color: #393939;}
.fcg3 {color: #373A39;}
.fcg4 {color: #373B39;}
.fcg5 {color: #5E5E5E;}
.fcpp {color: #905AC0;}

/**********************************  font     *****************************************/
.fw3{font-weight: 300;}
.fw4{font-weight: 400;}
.fw5{font-weight: 500;}
.fw6{font-weight: 600;}
.fw7{font-weight: 700;}
.fw8{font-weight: 800;}
.fw9{font-weight: 900;}

.fs10{font-size: 0.638rem;}
.fs12{font-size: 0.75rem;}
.fs13{font-size: 0.813rem;}
.fs14{font-size: 0.875rem;}
.fs15{font-size: 0.938rem;}
.fs16{font-size: 1rem;}
.fs17{font-size: 1.063rem;}
.fs18{font-size: 1.125rem;}
.fs19{font-size: 1.188rem;}
.fs20{font-size: 1.25rem;}
.fs21{font-size: 1.313rem;}
.fs22{font-size: 1.375rem;}
.fs23{font-size: 1.438rem;}
.fs24{font-size: 1.5rem;}
.fs25{font-size: 1.563rem;}
.fs26{font-size: 1.625rem;}
.fs27{font-size: 1.688rem;}
.fs28{font-size: 1.75rem;}
.fs29{font-size: 1.813rem;}
.fs30{font-size: 1.875rem;}
.fs31{font-size: 1.938rem;}
.fs32{font-size: 2rem;}
.fs33{font-size: 2.063rem;}
.fs34{font-size: 2.125rem;}
.fs35{font-size: 2.188rem;}
.fs36{font-size: 2.25rem;}
.fs37{font-size: 2.313rem;}
.fs38{font-size: 2.375rem;}
.fs40{font-size: 2.5rem;}
.fs41{font-size: 2.563rem;}
.fs42{font-size: 2.625rem;}
.fs44{font-size: 2.75rem;}
.fs46{font-size: 2.875rem;}
.fs48{font-size: 3rem;}
.fs60{font-size: 3.75rem;}
.fs64{font-size: 4rem;}
.fs76{font-size: 4.75rem;}

.ygt{font-family: "游ゴシック", "Yu Gothic", sans-serif;}
.ymc{font-family: "游明朝",'Yu Mincho',serif;}
.msr{font-family: 'Montserrat', sans-serif;}
.osw{font-family: 'Oswald', sans-serif;}
.lato{font-family: 'lato', sans-serif;}
.frd{font-family: 'Fredericka the Great', cursive;}
.noto{font-family: 'Noto Sans JP', sans-serif;}
.jos{font-family: 'Josefin Sans', sans-serif;}
.tnr{font-family: 'Times New Roman', sans-serif;}
.amt{font-family: 'Amatic SC', cursive;}
.pts{font-family: 'PT Sans', sans-serif;}
.won{font-family: 'Wendy One', sans-serif;}
.swg{font-family: 'Sawarabi Gothic', sans-serif;}
.ros{font-family: 'Rock Salt', cursive;}
.lct{font-family: 'Libre Caslon Text', serif;}
/**********************************  common *******************************************/
/**********************************  header  *****************************************/
header h1 {
	margin-top: 1em;
	width: 15%;
}
header h1 #logo {
	max-width:266px;
	width: 100%;
}
header#header {
    padding-bottom: 0em;
    position: fixed;
    width: 100%;
    background-color: #fff;
    z-index: 1000;
}
header#header li a img {
    max-width: 70px;
    margin-bottom: 0.75em;
}
div#google_translate_element {
	right: 3em;
	top: 2em;
}
header#header nav ul {
	padding-right: 9em;
	margin-top: 2em;
    display: flow-root;
}
header#header nav ul li {
	margin-right: 3em;
}
header#header nav ul li:first-of-type {
	margin-top: 4px;
}
/*******************************footer**************************************************************/
footer#footer {
	padding: 2em 0;
}
footer .footer_logo {
	max-width:232px;
	margin-bottom: 1em;
	width: 20%;
}
/*********************************************page_contact*************************************************/
section#page_contact {
	padding: 4em 0 3em 0;
}
section#page_contact h3 {}
section#page_contact h3 span {
	font-weight: 400;
}
section#page_contact .flex {}
section#page_contact .flex div{
	width: 49%;
}
section#page_contact .flex div a{
	padding: 0.875em 0;
	margin-top: 2em;
}
section#page_contact .flex div a img {
	max-width: 38px;
	margin-right: 1em;
}
/*********************************************top********************************************************/
#main_visual {
	margin-top: 7.5em;
}
#main_visual h2 {
	line-height: 1.55em;
	margin-bottom: 2em;
    text-shadow: 0 0 3px #FFF;
}
#main_visual h2 span {}
#main_visual h2 span img {
	margin: 0 -0.2em 0.3em -0.2em;
}
div#slide {
	margin:0 auto 0 auto;
	height: auto;
	position: relative;
	top: 0;z-index: -1;
}
div#slide div.slide1 {
	background-image:url("../img/top/slide01.jpg");background-size: cover;
}
div#slide div.slide2 {
	background-image:url("../img/top/slide02.jpg");background-size: cover;
}
div#slide div.slide3 {
	background-image:url("../img/top/slide03.jpg");background-size: cover;
}
div#slide div.slide4 {
	background-image:url("../img/top/slide04.jpg");background-size: cover;
}
div#slide .swiper-slide {
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	padding: 15.55em 0 25em 0;
}
section#top_about {
    padding: 1em 0 5em 0;
    background-image: url(../img/top/bg1.gif);
    background-position: center top 5em;
    background-repeat: no-repeat;
    background-size: contain;
}
div.top_line {
    margin-top: -2em;
}
section#top_about p.fs16 {
	margin-bottom: 2.25em;
	line-height: 2em;
    width: 56%;
}
section#top_about a.pp_bg {
    width: 35%;
    padding: 0.75em 0.5em;
}
section#top_about a.pp_bg i {
    float: right;
    font-size: 2.25rem;
    margin-top: -4px;
}
section#top_about .mb {
	margin-top: 4em;margin-bottom: 2em;
}
section#top_staff {
    background-image: url(../img/top/bg2.gif);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 3em 0 4em 0;
}
section#top_staff .line2 {
    margin-bottom: 2em;
}
section#top_staff p.ymc {
    margin-top: 2em;
}
section#top_staff p.ymc span {
    margin-left: 1em;
}
section#top_staff a.vi_bg {
    width: 35%;
    padding: 0.75em 0.5em;
    margin-top: 3em;
}
section#top_staff a.vi_bg i {
    float: right;
    font-size: 2.25rem;
    margin-top: -4px;
}
section#top_staff .flex01 img {
    box-shadow: 20px 20px 0 #BD9EDA;
}
section#top_staff .flex02 img {
    box-shadow: 20px 20px 0 #DFDDF7;
    margin-left: 5%;
}
section#top_recruit a.pp_bg {
    width: 35%;
    padding: 0.75em 0.5em;
}
section#top_recruit a.pp_bg i {
    float: right;
    font-size: 2.25rem;
    margin-top: -4px;
}
section#top_recruit p.fs16 {
    width: 56%;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 3em;
}
section#top_about .flex_item img.heading,
section#top_recruit .flex_item img.heading {
	max-width: 520px;
}
section#top_about .flex_item,
section#top_recruit .flex_item {
	width: 48.15%;
	padding-bottom: 3.5em;
}
section#top_about .flex_item .text_box,
section#top_recruit .flex_item .text_box {
	margin-top: 2.5em;
	padding-left: 1em;
	border-bottom: 1px solid #000;
	height: 14em;
	width: 90%;
	margin-left: 1em;
}
section#top_about .flex_item .text_box h4,
section#top_recruit .flex_item .text_box h4 {
	margin-bottom: 1.5em;
}
section#top_about .flex_item .text_box h4 span,
section#top_recruit .flex_item .text_box h4 span {
	margin-top: 1em;
}
section#top_about .flex_item .text_box p {
	margin-left: 0;
}
section#top_about .flex_item .text_box dl,
section#top_recruit .flex_item .text_box dl {
	margin: 0 0 0.5em 0;
}
section#top_about .flex_item .text_box dl dt,
section#top_recruit .flex_item .text_box dl dt {
	width: 5em;
	margin-right: 2em;
}
section#top_about .flex_item .text_box dl dd {}
section#top_recruit .flex_item .text_box dl dt,
section#top_recruit .flex_item .text_box dl dd,
section#top_about .flex_item .text_box dl dt,
section#top_about .flex_item .text_box dl dd {
	display: table-cell;
}
section#top_about .flex_item  a.more,
section#top_recruit .flex_item  a.more {
	right: 5%;
	bottom: 0;
}
section#top_recruit {
    padding: 4em 0 0 0;
    background-image: url(../img/top/bg3.gif);
    background-position: center top 12em;
    background-repeat: no-repeat;
    background-size: contain;
}
section#top_recruit .bg_c {
	margin-top: 3.5em;margin-bottom: 2em;
}
section#top_recruit h3 {
	margin-left: 1.25em;
	margin-bottom: 0.8em;
	margin-top: 0.5em;
}
section#top_recruit h3 span {}
section#top_recruit .flex {}
section#top_recruit .flex .flex_item01 {
	width: 38%;
}
section#top_recruit .flex .flex_item01 img {
	max-width: 340px;
}
section#top_recruit .flex .flex_item02 {
	width: 56%;
	padding: 0 4% 0 2%;
}
section#top_recruit .flex .flex_item02 p {
	line-height: 2em;
	margin-bottom: 1.75em;
	margin-left: 5px;
}
section#top_recruit .flex .flex_item02 a.more {}
section#top_recruit .flex .text_box {}
section#top_recruit .flex .text_box h4 {}
section#top_recruit .flex .text_box h4 span {}
section#top_recruit .flex .text_box p {}
section#top_recruit .flex  a.more {}
section#top_recruit .flex  a.more {}
section#top_recruit .gld_bg {
	margin-top: 6em;
}
section#top_recruit ul.roll li {
	margin-right: 1em;
}
section#top_gallery {
    background-image: url(../img/top/bg4.gif);
    background-position: center top 5em;
    background-repeat: no-repeat;
    background-size: contain;
    padding-top: 9em;
}
div.movie {
    margin-top: 3em;
    margin-bottom: 5em;
}
.shadow {
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}
section#top_map {
	padding-top: 4em;
	background: -moz-linear-gradient(to bottom,#F9F7F2 55%,#FFF 55%); 
	background: -webkit-linear-gradient(to bottom,#F9F7F2 55%,#FFF 55%); 
	background: linear-gradient(to bottom,#F9F7F2 55%,#FFF 55%);
}
section#top_map .map {
	margin: 2em auto;
}
.bottom_img {
	margin-top: 7.5em;
}
section#top_map p {}
h3.fs27 {
	line-height: 1.25em;
	margin-bottom: 2em;
}
h3.fs27 span {
	margin-left: 5px;
}
a.more {
	margin-left: 5px;
}
a.more img {
	max-width: 36px;
	margin-left: 1em;
	margin-bottom: 6px;
}
.line1 {
    border-left: 1px solid #333;
    width: 1px;
    display: block;
    margin: 0 auto;
    height: 70px;
}
.line2 {
    border-left: 1px solid #B1ADEB;
    width: 1px;
    display: block;
    margin: 0 auto;    
    height: 70px;
}
.v_line {
	border-left: 1px solid #A77CCD;
	height: 3.125em;
	margin-bottom: -1.56em;
	margin-left: calc(50% - 1px);
	position: relative;
}
.w_line {
	display: flex;
	align-items: center;
}
.w_line:before, .w_line:after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #A77CCD;
	display: block;
}
.ceo .w_line:before {
	margin-right: 3.5em;
}
.ceo .w_line:after {
	margin-left: 3.5em;
}
.w_line:before {
	margin-right: 2em;
}
.w_line:after {
	margin-left: 2em;
}
body#top #t_h3,
body#recruit #t_h3 {
    display: block;
}
body#top #r_h3,
body#recruit #r_h3 {
    display: none;
}
section#top_gallery a.vi_bg {
    width: 35%;
    padding: 0.75em 0.5em;
    margin-bottom: 3em;
    margin-top: 1.5em;
}
section#top_gallery a.vi_bg i {
    float: right;
    font-size: 2.25rem;
    margin-top: -4px;
}
section#top_gallery .line2{
    margin-bottom: 1.5em;
}
section#top_gallery h3.fs27 {
    line-height: 1.25em;
    margin-bottom: 1em;
}
section#top_gallery ul {}
section#top_gallery ul li {
    width: 29.6%;
    margin-right: 5.6%;
    margin-bottom: 2.5em;
}
section#top_gallery ul li:nth-of-type(3n) {
    margin-right: 0%;
}
section#top_gallery ul li img {
    max-width: 320px;
}
section#top_gallery .movie .left {
    max-width: 320px;
    width: 29.6%;
    margin-right: 5.6%;
}
section#top_gallery .movie .left:nth-of-type(3n) {
    margin-right: 0;
}
section#top_gallery .movie .left dl dt,
section#top_gallery .movie .left dl dd {
    display: table-cell;
}
section#top_gallery .movie .left dl dt {
    width: 1em;
    font-style: italic;
    padding-right: 0.5em;
    vertical-align: middle;
}
div.bottom_line {
    position: relative;
    margin-bottom: -2em;
}
/*********************************about*************************************************************/
section#city {
	background: -moz-linear-gradient(to bottom,#DFDDF7 20%,#FFF 20%); 
	background: -webkit-linear-gradient(to bottom,#DFDDF7 20%,#FFF 20%); 
	background: linear-gradient(to bottom,#DFDDF7 20%,#FFF 20%);
	padding-top: 3em;
	padding-bottom: 5em;
}
section#city h3.fs27 {
    margin-bottom: 0.25em;
    margin-top: 0.25em;
}
section#city p.city_p {
    margin-bottom: 3em;
}
section#about_top {
    background: -moz-linear-gradient(to bottom, #FFF 14%, #F9F7F2 14%);
    background: -webkit-linear-gradient(to bottom, #FFF 14%, #F9F7F2 14%);
    background: linear-gradient(to bottom, #FFF 14%, #F9F7F2 14%);
    padding-bottom: 6em;
}
section#about_top .line2 {
    margin-bottom: 1em;
}
section#about_top img.pc {
	margin-bottom: 4em;
}
section#about_top .flex {
	margin-top: 6em;
}
section#about_top .flex .flex_item {
	width: 48.15%;
}
section#about_top .flex .flex_item img{
	max-width: 520px;
}
section#city .flex {
	margin-top: 4em;
}
section#city .flex .flex_item {
    width: 48.15%;
}
section#city .flex .flex_item img {
    max-width: 520px;
}
section#city .flex .flex_item.mt p {
	margin-top: 2em;
}
section#city p {
	margin-bottom: 2em;
	line-height: 2em;
	width: 99%;
}
section#city .bg_c {
	background: -moz-linear-gradient(to bottom,#F9F7F2 50%,#FFF 50%); 
	background: -webkit-linear-gradient(to bottom,#F9F7F2 50%,#FFF 50%); 
	background: linear-gradient(to bottom,#F9F7F2 50%,#FFF 50%);
	padding: 6em 0 7em 0;
}
section#profile {
    padding-top: 5em;
}
section#profile .line2 {
    margin-bottom: 1em;
}
section#profile h3 {
    line-height: 1.5em;
}
section#profile h3 span{}
section#profile .flex {
	width: 73%;
	margin-left: auto;
	margin-right: auto;
}
section#profile .flex .flex_item02,
section#profile .flex .flex_item01 {
	margin-top: 1.25em;
	width: 49%;
}
section#profile .flex .flex_item01 dl,
section#profile .flex .flex_item02 dl {
	margin: 0.7em 0;
}

section#profile .flex .flex_item01 dl dt,
section#profile .flex .flex_item02 dl dt {
	width: 5em;
	padding-right: 1em;
}
section#profile .flex .flex_item01 dl dd {}
section#profile .flex .flex_item01 dl dt,
section#profile .flex .flex_item01 dl dd,
section#profile .flex .flex_item02 dl dt,
section#profile .flex .flex_item02 dl dd {
	display: table-cell;
	letter-spacing: 0.05em;
}
section#profile .map {
	margin: 3em auto 5.5em auto;
}
section#about_company {}
section#about_map {}
/****************************************recruit*************************************************************/
body#about main,
body#recruit main,
body#contact main,
body#gallery main,
body#staff main,
body#mail_form main {
	padding-top: 130px;
}
body#about h2,
body#recruit h2,
body#staff h2,
body#gallery h2,
body#contact h2,
body#mail_form h2 {
	margin: 2em auto 1em auto;
	line-height: 1.55em;
}
body#about h2 span img,
body#recruit h2 span img,
body#staff h2 span img,
body#gallery h2 span img,
body#contact h2 span img,
body#mail_form h2 span img {
    margin: 0 -0.2em 0.3em -0.2em;
    max-width: 54px;
}
section#about_top h3,
section#recruit_top h3,
section#gallery_top h3,
section#staff_top h3,
section#contact_form h3 {
	margin-bottom: 0;
}
section#recruit_top h4 {
	margin: 2.25em auto 1.5em auto;
}
section#recruit_top h4 img {
	margin: 0 0.8em 0.25em 0.8em;
	max-width: 90px;
}
section#about_top p,
section#recruit_top p {
	margin-top: 0.75em;
	margin-bottom: 2.125em;
	line-height: 2em;
}
section#recruit_top {
	background: -moz-linear-gradient(to bottom,#E0DDF8 15%,#FFF 15%); 
	background: -webkit-linear-gradient(to bottom,#E0DDF8 15%,#FFF 15%); 
	background: linear-gradient(to bottom,#E0DDF8 15%,#FFF 15%);
	padding-top: 3em;
}
section#recruit_top {}
section#recruit_top {}
section#recruit_top .ceo {
	padding-bottom: 6.5em;
}
section#recruit_top .ceo p {
	margin-bottom: 1em;
	margin-top: 1.5em;
}
section#recruit_top .ceo p span{}
section#recruit_top .ceo img {
	max-width: 1080px;
}
section#requirements {
	padding-bottom: 1em;
}
.sign_box {
	background: -moz-linear-gradient(to top,#F9F7F2 70%,#FFF 70%); 
	background: -webkit-linear-gradient(to top,#F9F7F2 70%,#FFF 70%); 
	background: linear-gradient(to top,#F9F7F2 70%,#FFF 70%);
	margin-bottom: 5em;
}
section#requirements .sign_box h3 {
	top: 45%;
	right: 0;
	left: 0;
}
section#requirements .sign_box h3 span {}
section#requirements .sign_box img {
	max-width: 490px;
}
section#requirements .flex {
	margin-bottom: 3em;
}
section#requirements .flex .flex_item {
	width: 48.15%;
}
section#requirements .flex .flex_item img {
	max-width: 520px;
}
section#requirements .flex .flex_item p {
	margin-top: 0.5em;
}
section#requirements dl {
	border-bottom: 1px solid #000;
	padding-bottom: 0.6em;
	padding-top: 0em;
	margin-top: 0;
	margin-bottom: 0.8em;
}
section#requirements dl dt {
	width: 5em;
	padding-right: 1.5em;
	padding-left: 0.5em;
}
section#requirements dl dd {}
section#requirements dl dt,
section#requirements dl dd {
	display: table-cell;
}
section#requirements h3.tarn {
	margin-top: 2.5em;
}
section#requirements h3.tarn img {
	margin: 0 0.8em 0 0.5em;
	max-width: 52px;
}
body#about .bottom_img,
body#recruit .bottom_img {
    margin-top: 0;
}
.v_line2 {
	margin-top: -1.56em;
}
p.full {
    margin-top: -1em;
    margin-bottom: 4em;
    font-weight: 600;
    letter-spacing: 0.15em;
}

/* 20200429追加　*/
div.select {
	margin-bottom: 2.0em;	
}
a.select_on,
a.select_off {
	width: calc(88% - 1em);
	font-size: 1.5em;
	font-weight: bold;
	padding: 0.5em 0.5em;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.0em;
}
a.select_on {
	color: #FFF;
	background-color: #9164C3;
}
a.select_off {
	background-color: #E0DDF8;
}
.select_target {

}
a.select_off i {
    float: right;
    font-size: 2.25rem;
    vertical-align: middle;
}
/****************************************staff****************************************/
section#staff_top {
    background: -moz-linear-gradient(to bottom,#F9EEFF 20%,#FFF 20%);
    background: -webkit-linear-gradient(to bottom,#F9EEFF 20%,#FFF 20%);
    background: linear-gradient(to bottom, #F9EEFF 20%, #FFF 20%);
    padding-top: 3em;
}
section#staff_top .flex{
    margin-bottom: 3em;
}
section#staff_top .flex.b_c{
    margin-bottom: 7em;
}
section#staff_top .flex01 .left {
    box-shadow: 20px 20px 0 #BD9EDA;
    max-width: 500px;
}
section#staff_top .flex02 .left {
    box-shadow: 20px 20px 0 #DFDDF7;
    max-width: 500px;
    margin-left: 4%;
}
section#staff_top p.ymc {
    margin-top: 2em;
}
section#staff_top p.ymc span {
    margin-left: 1em;
}
section#staff_top h3.fs27 {
    margin-bottom: 0.25em;
    margin-top: 0.25em;
}
section#staff_top p.lct {
    margin-bottom: 3em;
}
section#staff_top .left img:hover {
    opacity: 0;
    transition: 0.6s;
}
section#staff_top #staff01 {
    background-image: url(../img/staff/staff_on_01.jpg);
    background-position: left top;
    background-size: cover;
    background-repeat: no-repeat;
}
section#staff_top #staff02 {
    background-image: url(../img/staff/staff_on_02.jpg);
    background-position: left top;
    background-size: cover;
    background-repeat: no-repeat;
}
section#staff_top #staff03 {
    background-image: url(../img/staff/staff_on_03.jpg);
    background-position: left top;
    background-size: cover;
    background-repeat: no-repeat;
}
section#staff_top #staff04 {
    background-image: url(../img/staff/staff_on_04.jpg);
    background-position: left top;
    background-size: cover;
    background-repeat: no-repeat;
}
section#staff_top #staff05 {
    background-image: url(../img/staff/staff_on_05.jpg);
    background-position: left top;
    background-size: cover;
    background-repeat: no-repeat;
}
section#staff_top #staff06 {
    background-image: url(../img/staff/staff_on_06.jpg);
    background-position: left top;
    background-size: cover;
    background-repeat: no-repeat;
}
/***************************************gallery***************************************/
section#gallery_top {
    background: -moz-linear-gradient(to bottom,#F9EEFF 20%,#FFF 20%);
    background: -webkit-linear-gradient(to bottom,#F9EEFF 20%,#FFF 20%);
    background: linear-gradient(to bottom, #F9EEFF 20%, #FFF 20%);
    padding-top: 3em;
}
section#gallery_top a {
    width: 29.7%;
    display: block;
    float: left;
    margin-right: 5.45%;
    margin-bottom: 2em;
}
section#gallery_top a:nth-of-type(3n) {
    margin-right: 0;
}
section#gallery_top a img {
    max-width: 320px;
    width: 100%;
}
section#gallery_top p {
    margin-bottom: 3em;
    margin-top: 0.75em;
}
/*********************************contact*********************************************/
section#contact_form {
    background: -moz-linear-gradient(to bottom,#F1E9F3 30%,#FFF 30%);
    background: -webkit-linear-gradient(to bottom,#F1E9F3 30%,#FFF 30%);
    background: linear-gradient(to bottom, #F1E9F3 30%, #FFF 30%);
    padding-top: 3em;
}
section#contact_form p,
section#mail_form p {
	margin-bottom: 3.5em;
	line-height: 2em;
}
section#contact_form form {
    margin-top: 3em;
    padding-top: 4em;
    padding-bottom: 5em;
}
section#contact_form table {
	width:75%;
	margin:0 auto 1em auto;
}
section#contact_form table th {
	width:35%; 
	padding:0px 2% 0px 2%;
	color: #000; 
	text-align:right;
	font-size:1em;
	border-bottom: 3px solid #F9F7F2;
}
section#contact_form table tr {}
section#contact_form table tr.mail_tr {
	height: 10em;
}
section#contact_form table td {
	padding:10px 2% 10px 2%;
	color: #000;
}
section#contact_form table td input {
	width:92%; padding:1.3%; font-size:1em;
}
section#contact_form table td textarea {
	width:92%; padding:1%; height:80px; font-size:1em;
}
section#contact_form input[type="submit"] {
    -webkit-appearance: none;
    width: 44%;
    height: 2.8em;
    font-size: 1.2rem;
    background-color: #66B082;
	border: none;
	cursor: pointer;
	margin-top: 2.5em;
	letter-spacing: 0.04em;
	padding: 2px 0;
	margin-bottom: 1em;
	color: #fff;
}
form a.back {
	display:inline-block;
	text-align:center;
	text-decoration:none;
	line-height:41px;
	width:40%; height:41px; font-size:1.25em;
	background-color: #D9DBC6;
	border: solid 1px #D9DBC6;
	color: #fff; cursor:pointer;
}
form a.post {
	display:inline-block;
	text-align:center;
	text-decoration:none;
	line-height:41px;
	width:40%; height:41px; font-size:1.25em;
	background-color:#DBEBF9; 
	border:solid 1px #DBEBF9;
	color:#FFF; cursor:pointer;
	
}
span.h {
	background-color:#DC3F78;
	color:#FFF; font-size:0.7em; font-weight:600;
	display:inline-block;
	padding:4px 8px 4px 8px;
	border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	-o-border-radius: 3px;
	-ms-border-radius: 3px;
}
span.n {
    background-color: #66B082;
    color: #FFF;
    font-size: 0.7em;
    font-weight: 600;
    display: inline-block;
    padding: 4px 8px 4px 8px;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    -o-border-radius: 3px;
    -ms-border-radius: 3px;
}
body#mail_form section#contact_form h2 {
	margin: 1em auto 0 auto;
}
body#mail_form section#contact_form h3 {
	margin: 1em auto 0 auto;
}
section#contact_form p.text_box {
	margin-top: 1em;
}
section#contact_form p.check {
	margin-top: 2em;
}
body#contact .bottom_img {
    margin-top: 8.5em;
}
body#mail_form section#contact_form {
    background: none;
	padding-top: 3em;
}
/*******************************************ipad********************************************************/
@media (min-width: 768px) and (max-width: 1023px) {
	header h1 {
	    margin-top: 1em;
	    width: 24%;
	}
	header#header nav ul li {
	    margin-right: 1em;
	}
    header#header nav ul li a {
        font-size: 0.75rem;
        letter-spacing: 0.05em;
    }
    header#header li a img {
        max-width: 40px;
        margin-bottom: 0.5em;
    }
	header#header nav ul {
	    padding-right: 7.5em;
	    margin-top: 2em;
	}

	div#google_translate_element {
	    right: 1em;
	    top: 2em;
	}
	#main_visual {
	    margin-top: 6em;
	}
	#main_visual h2 {
	    margin-bottom: 1em;
	    font-size: 1.625em;
	}
	#main_visual h2 span {
	    font-size: 0.846em;
	}
	#main_visual h2 span img {
	    width: 5%;
	}
	div#slide .swiper-slide {
	    padding: 7em 0;
	}
	section#top_about .flex_item .text_box,
	section#top_recruit .flex_item .text_box {
	    height: 14.5em;
	    margin-top: 1.5em;
	    padding-left: 0em;
	}
	section#top_about .flex_item .text_box h4 span,
	section#top_recruit .flex_item .text_box h4 span {
	    margin-top: 0.25em;
	}
	section#top_about .flex_item .text_box h4,
	section#top_recruit .flex_item .text_box h4 {
	    margin-bottom: 1em;
	    font-size: 1.313em;
	}
	section#top_about .flex .flex_item02 img {
	    margin-left: 0;
	}
	section#top_about {
	    padding: 4em 0 0 0;
	    background-position: center top 1em;
	    background-size: cover;
	}
    section#top_about .flex_item .text_box p {
        margin-left: 0;
        font-size: 0.875rem;
    }
	section#top_recruit .flex_item .text_box dl dt,
	section#top_recruit .flex_item .text_box dl dd,
	section#top_about .flex_item .text_box dl dt,
	section#top_about .flex_item .text_box dl dd {
	    font-size: 0.875rem;
	}
    section#top_staff p.ymc span {
        font-size: 1.1rem;
    }
    section#top_staff p.ymc {
        font-size: 0.975rem;
    }
	section#top_recruit {
	    padding: 2em 0 0 0;
        background-size: cover;
	}
	section#top_recruit h3 {
	    margin-left: 0.5em;
	    margin-bottom: 0.5em;
	    margin-top: 1em;
	}
	h3.fs27 {
	    line-height: 1.25em;
	    margin-bottom: 0.5em;
	    font-size: 1.500em;
	}
	section#top_about .bg_c {
	    margin-top: 3em;
	}
	section#top_recruit .flex .flex_item02 p {
	    line-height: 2em;
	    margin-bottom: 1.5em;
	    margin-left: 5px;
	    font-size: 0.875em;
	}
	section#top_recruit .bg_c {
	    margin-top: 3em;
	}
	section#top_recruit .flex .text_box p {
	    font-size: 0.875em;
	}
	section#page_contact h3 {
	    font-size: 1.375em;
	}
	section#page_contact {
	    padding: 2em 0 2em 0;
	}
	section#page_contact .flex div a {
	    margin-top: 1.5em;
	    font-size: 1em;
	}
	section#top_map h3 {
	    font-size: 1.313em;
	}
	section#top_map {
	    padding-top: 2em;
	}
	section#top_map .map {
	    margin: 1.5em auto;
	}
    section#profile {
        padding-top: 2em;
    }
    section#city {
        padding-bottom: 3em;
    }
	.bottom_img {
	    margin-top: 3.5em;
	}
	body#about main,
	body#recruit main,
	body#gallery main,
	body#staff main,
	body#contact main {
	    padding-top: 8em;
	}
	body#about h2,
	body#recruit h2,
	body#staff h2,
	body#gallery h2,
	body#contact h2 {
	    margin-bottom: 1em;
	    font-size: 1.625em;
	    margin-top: 0;
	}
	body#about h2 span,
	body#recruit h2 span,
	body#staff h2 span,
	body#gallery h2 span,
	body#contact h2 span {
	    font-size: 0.846em;
	}
	body#about h2 span img,
	body#recruit h2 span img,
	body#staff h2 span img,
	body#gallery h2 span img,
	body#contact h2 span img {
	    width: 5%;
	}
	section#recruit_top h4 {
	    font-size: 1.25em;
	}
	section#recruit_top h4 img {
	    width: 10%;
	}
	section#about_top p,
	section#recruit_top p {
	    margin-bottom: 1.25em;
	    font-size: 0.95rem;
	}
	section#recruit_top .ceo {
	    padding-bottom: 2.5em;
	}
	section#requirements .sign_box img {
	    width: 40%;
	}
	section#requirements .sign_box h3 {
	    font-size: 1.25em;
	}
	section#requirements h3.tarn img {
	    width: 5%;
	}
	section#requirements dl dt,
	section#requirements dl dd {
	    font-size: 0.875em;
	}
	section#requirements .flex .flex_item p {
	    font-size: 1.2em;
	}
	section#contact_form table {
	    width: 95%;
	}
	section#top_recruit ul.roll li {
	    width: 250px;
	}
	section#top_staff .flex01 img,
	section#top_staff .flex02 img {
	    width: 94%;
	}
    section#top_about p.fs16 {
        margin-bottom: 2.25em;
        line-height: 2em;
        width: 86%;
        font-size: 0.9rem;
    }
    section#top_recruit p.fs16 {
        width: 86%;
        font-size: 0.9rem;
    }
    section#top_staff { 
        padding-bottom: 0em;
    }
    section#top_gallery {
        background-position: center top 5em;
        padding-top: 3em;
        background-size: cover;
    }
    section#top_gallery p.fs32 {
        font-size: 1.6rem;
    }
/*******************************about************************************/
	section#about_top {
    padding-bottom: 3em;
}
	section#city p {
	font-size: 0.875em;
    margin-bottom: 1em;
    width: 100%;
}
	section#city .flex .flex_item.mt p {
    margin-top: 0;
}
	section#city .flex {
    margin-top: 4em;
}
	section#city .bg_c {
    padding: 3em 0 3em 0;
}
	section#profile .flex {
    width: 100%;
}
	section#profile .flex .flex_item01,
	section#profile .flex .flex_item02 {
    margin-top: 0;
}
    section#staff_top .flex01 .left,
    section#staff_top .flex02 .left {
        width: 94%;
    }
}
/*******************************************ipad pro****************************************************/
@media (min-width: 1024px) and (max-width: 1222px) {
	header h1 {
	    margin-top: 1.5em;
	    width: 26%;
	}
	header#header nav ul li {
	    margin-right: 1em;
	}
	div#slide .swiper-slide {
	    padding: 9em 0;
	}
	section#top_about .flex_item .text_box,
	section#top_recruit .flex_item .text_box {
	    height: 15em;
	}
	section#top_recruit ul.roll li {
	    margin-right: 1em;
	}
    section#top_staff .flex01 img,
    section#top_staff .flex02 img {
        width: 94%;
    }
    section#top_recruit {
        padding: 2em 0 0 0;
        background-position: center top 5em;
        background-size: auto;
    }
    section#top_staff {
        padding: 2em 0 2em 0;
    }
    section#top_about {
    padding: 1em 0 2em 0;
    background-position: center top 2em;
    background-size: cover;
}
    section#staff_top .flex01 .left,
    section#staff_top .flex02 .left {
        width: 96%;
    }
    section#top_about,
    section#top_gallery,
    section#top_recruit {
        background-size: cover;
    }
}
/*******************************************pc**********************************************************/
@media (min-width: 1223px) and (max-width: 1480px) {
    header h1 {
        margin-top: 1em;
        width: 21%;
    }
	div#slide .swiper-slide {
	    padding: 10.5em 0;
	}
    section#top_about,
    section#top_gallery,
    section#top_recruit {
        background-size: cover;
    }
}
/*******************************************pc**********************************************************/
@media (min-width: 1481px) and (max-width: 1780px) {
	div#slide .swiper-slide {
    padding: 13em 0;
}
    section#top_about,
    section#top_gallery,
    section#top_recruit {
        background-size: cover;
    }
}
/*******************************************IE**********************************************************/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {}
/*****************************************Edge**********************************************************/
@supports (-ms-ime-align:auto){}