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

body {
	font-size:12px;
}
.sp {
	display: block;
}
.pc {
	display: none;
}
.left {
	float: none;
}
.right {
	float: none;
}
.flex {
	display: block;
}
.half {
    width: 100%;
}
#google_translate_element {
    top: 1em;
    right: 48px;
}
#spnav {
    position: absolute;
    right: 0;
    top: 0;
}
#menu_button {
    font-size: 2.833em;
}
header#header h1 {
    margin-top: 1%;
    width: 47%;
}
header#header {
    padding: 1% 0 5.5% 0;
}
#nav {
    display: none;
}
header#header ul li {
    display: block;
    margin-right: 0;
}
header#header .nav_box {
    width: 100%;
}
header#header ul {
    padding: 3em 0 1em 0;
}
header#header ul li img {
    width: 4em;
    margin-top: 1em;
}
footer#footer {
    padding: 5% 0 6% 0;
}
footer#footer div.left {
    width: 100%;
}
footer#footer h3 {
    width: 65%;
    margin: 0 auto;
}
footer#footer h3 img {
    margin-bottom: 7%;
    margin-top: 7%;
}
footer#footer p.address {
    text-align: center;
    font-size: 1.250em;
    line-height: 1.7;
}
footer#footer div.right {
    width: 23.5em;
    text-align: left;
    margin: 0 auto;
}
footer#footer ul li {
    margin-top: 3%;
}
footer#footer div.right ul li a {
    font-size: 1.167em;
}
footer#footer p.copy {
    margin-top: 8%;
}
/**********************************common**********************************/
h2.ttl {
    font-size: 2.25em;
    line-height: 1.5;
}
h3.ttl img {
    width: 8%;
}
div.line01 {
    margin: 4% auto 8% auto;
}
section#top_img h2 {
    font-size: 1.75em;
    line-height: 2.5;
}
div.line03 {
    width: 90px;
    height: 4px;
    margin: 2% auto 0% auto;
}
#message h2.ttl::before,
#voice h2.ttl::before,
#requirements h2.ttl::before,
#town h2.ttl::before,
#concept h2.ttl::before,
#company h2.ttl::before,
#message h2.ttl::after,
#voice h2.ttl::after,
#requirements h2.ttl::after,
#town h2.ttl::after,
#concept h2.ttl::after,
#company h2.ttl::after {
    top: 25%;
    width: 1em;
}
section#page_contact {
    padding: 6% 0;
}
/***********************************top***********************************/
section#slide .swiper-wrapper p.p01 {
    font-size: 1.25em;
}
section#slide .swiper-wrapper p.p02 {
    font-size: 1.5em;
}
section#slide .swiper-wrapper p.p01 img {
    width: 8%;
}
.flex .img_box {
    width: 100%;
    padding: 19% 0 25% 0;
    margin-bottom: 1em;
    display: block;
}
section#top_gallery img {
    width: 49%;
    margin-right: 2%;
    float: left;
}
section#top_gallery img:nth-of-type(2n) {
    margin-right: 0;
}
section#top_about p.p01,
section#top_recruit p.p01 {
    font-size: 1em;
}
section#top_about p.p01 {
    padding: 0.5em 1em;
    line-height: 1.4;
}
section#top_about p.p02,
section#top_recruit p.p02 {
    text-align: left;
}
section#top_staff div.tac a, section#top_gallery div.tac a {
    font-size: 1em;
    padding: 0.755em 5em 0.75em 6em;
}
/**********************************about**********************************/
section#town .tac p.p01,
section#town .tac p.p02,
section#concept .tac p.p01,
section#concept .tac p.p02 {
    font-size: 1em;
    padding: 0.65em 1em;
    line-height: 1.4;
    text-align: center;
}
section#concept .tac p.p02 {
    line-height: 1.5;
}
section#concept .tac p.p02 br.sp {
    display: none;
}
section#town .season .left .flex {
    display: flex;
}
section#town .season .left .flex .img {
    width: 40%;
}
section#town .season .left .flex .text {
    width: 60%;
    padding: 1% 1% 0 1%;
}
section#town .season .left .flex .text h3 img {
    margin-left: 4%;
    width: 8%;
}
section#town .season .left .flex .text h3 {
    margin-bottom: 2%;
}
section#town .season .left .flex .text p.p01 {
    font-size: 0.9em;
    margin-bottom: 3%;
}
section#town .season .left .flex .text p.p02 {
    text-align: left;
    font-size: 0.85em;
}
section#town .link a img {
    width: 70%;
}
section#town p.b_p {
    font-size: 0.875em;
    text-align: left;
}
section#concept p.p01,
section#concept p.p02,
section#concept p.p03 {
    text-align: left;
}
section#concept p.p03 br.sp {
    display:none;
}
section#concept .flex .flex_item {
    width: 100%;
    margin: 5% auto;
}
section#company dl dd .flex.pc_d {
    display: none;
}
section#company dl dt {
    width: 6em;
    padding-right: 1em;
    padding-left: 1em;
}
section#company dl dd {
    width: 74vw;
}
section#company .map iframe {
    height: 250px;
}
section#history dl dt {
    width: 4em;
    padding: 0 0em 0 1em;
}
section#company dl dd img {
    width: 49%;
    margin-top: 2%;
}
/**********************************staff**********************************/
section#staff .staff_box .left {
    width: 98%;
    margin: 5% auto 11% auto;
}
/*********************************gallery*********************************/
section#message .message_box .right {
    text-align: center;
}
section#gallery li {
    width: 49%;
    margin-right: 2%;
    float: left;
}
section#gallery li:nth-of-type(2n) {
    margin-right: 0;
}
section#voice p {
    text-align: left;
}
section#movie div.movie {
	width: 80%;
	margin: 2.2em auto 0 auto;
	float: none;
}
	
/*********************************recruit*********************************/
section#message .message_box .left,
section#voice .flex div {
    width: 100%;
    margin-top: 5%;
}
section#message .message_box .right {
    text-align: center;
}
section#message .message_box .right h3 {
    font-size: 1.25em;
    padding: 0.25em 2em;
}
section#message .message_box .right p.fcgre2 {
    font-size: 1em;
}
section#message .message_box .right p.p01,
section#message .message_box .right p.p02,
section#message .message_box .right p.p03,
section#message .message_box .right p.p04 {
    font-size: 0.875em;
    margin-bottom: 3%;
    text-align: left;
}
section#requirements p {
    font-size: 1.25em;
}
/*********************************contact*********************************/
section#contact {
    padding: 4% 0 10% 0;
}
/*************************************************************************/
@media (min-width: 376px) and (max-width: 499px) {}
/*************************************************************************/
@media (min-width: 500px) and (max-width: 650px) {}
/*************************************************************************/
@media (min-width: 651px) and (max-width: 767px) {}
/*********************************IE*************************************/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {}