@charset "utf-8";
/* CSS Document */
body {
	font-size: 14px;
}
.inner {
	max-width: 88%;
}
.sp {
    display: block;
}
.sp_visiable {
    display: inline;
}
.pc {
	display: none;	
}
.pc_num {
	display: none;
}
/****** 見出し ********/

h3.ttl {
    font-size: 1.375rem;
	letter-spacing: 0.15em;
	font-weight: 600;	
    color: #274DB0;
}
h3.eng {
    font-size: 1.5rem;	
}

h3.ttl span.small {
	font-size: 1.0rem;
	display: block;
}
h4.ttl {
    font-size: 1.35rem;
	margin-top: 2.0em;
}
/****** btn ********/
a.more {
    font-size: 1.0em;
    width: 240px;
    max-width: 80%;
    padding: 0.5em 1.5em;
    letter-spacing: 0.08em;
    margin-top: 2.5em;
}
a.more i.material-icons {
    top: 0.3em;
}
/*************** header start ***********************************************************/
header {
   width: 100%; 
   position: relative;
   top: 0;
   left: 0;
   padding-top: 5px;
}
header .inner_l {
   width: 100%;	
}

.header_container {
    width: 100%;
	float: none;
	margin-top: 0;
    padding-bottom: 0;				
}
header .logo_box {
    width: 100%;
	height: 100px;
	padding: 4px 0 4px 0;
	background-color: #FFF;
}

a.logo {
    width: 120px;
}
header div.trans {
    float: none;
	position: absolute;
	top: 10px;
	right: 2%;	
}

#spnav {
    display: block;
	position: absolute;
	top: 45px;
	right: 2%;
    z-index: 700;
}
#spnav .material-icons {
    display: block;
	color: #203B81;
    font-size: 2.6em;		
}
#header #nav {
    display: none;
}
header ul#nav {
    width: 86%;
	padding: 1em 0 2em 0;
	writing-mode: horizontal-tb;
	position: relative;
	z-index: 9999;
	height: auto;	
}
header ul#nav li {
	font-size: 0.9375em;
    padding: 0.8em 0 0.5em 0;
	text-shadow: none;
	letter-spacing: 0.08em;   
}
/*************** entry_tab start *************************************************************/
section.entry_tab {
	left: auto;
	right: 2em;
	top: 30%;		
}

a.entry_btn {
	font-size: 1.0em;
	padding: 1.0em 0.4em;

}

/*************** 共通 *************************************************************/

section.main_top .swiper-slide {
    height: 60vh;
    min-height: 60vh;
}
section.contents_top img.fit {
    height: 60vh;
    min-height: 60vh;
}
section.main_top div.main_top_ttl h2 {
    font-size: 1.35rem;
}
.catch {
    font-size: 1.5rem;
	letter-spacing: 0.20em;
}
h3.ttl span.small {
	font-family: 'Noto Serif JP', "游明朝体", "Yu Mincho", yumincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "Sawarabi Mincho", "MS P明朝", "MS PMincho", serif;	
}
h3.ttl em.num {
	padding: 0.5em 0;
}
.border_y {
    width: 180px;
    margin-top: -0.5em;
    padding-bottom: 3.0em;
}
dl.clumn {

}
dl.clumn dt .ttl_before {
    font-size: 1.5em;
}
dl.clumn dd.text {
    padding-right: 1.0em;
    height: 20em;
    line-height: 2.4em;
	margin-top: 1em;
}
dl.clumn dd.clumn_icon img {
    width: 90px;
    position: relative;
    right: auto;
    top: auto;
	margin-top: 5em;
}
.column figure {
    width: 100%;
	margin-top: 2em;
	float: none;
    margin-left: auto;
    margin-right: auto;	
}
.circle_img figure {
    width: 52%;
    margin-right: 0;
    position: relative;
}
.circle_img figure figcaption mark {
    font-size: 0.75em;
}
/*************** top *************************************************************/
img.slide01 {
    object-position: left;	
}

section#top_about {
    margin-top: -82px;
    padding: 10px 0 10em 0;
}
section#top_about .text_box {
    width: 100%;
	float: none;
	writing-mode: horizontal-tb;	
}
section#top_about .text_box .catch {
    text-align: center;
}
section#top_about .left p {
    height: auto;
    padding-top: 1em;
    letter-spacing: 0.1em;
    font-size: 0.875em;
}
section#top_about .map_img {
    width: 340px;
	max-width: 90%;
	display: block;
	margin: 60px auto 0 auto;
	float: none;
}
section#top_staff {
    padding: 60px 0;
}
section#top_recruit {
    padding: 0 0 60px 0;
}
section.column figcaption a.more {
    margin-top: -1.3em;
}
section#galley {
	padding: 20px 0 5em 0;	
}
a.gallery {
    width: 32%;
	margin-right: 2%;
	margin-top: 5px;
	margin-bottom: 5px;	
}
a.gallery:nth-of-type(5n) {
	margin-right: 2%;	
}
a.gallery:nth-of-type(3n) {
	margin-right: 0;	
}
a.gallery:nth-of-type(5n+1) {
	float: left;
	clear: none;
}
a.gallery:nth-of-type(3n+1) {
	clear: both;
}
section#top_about_bottom {
    padding-bottom: 5em;
}
section#top_about_bottom .circle_img figure:first-of-type {
    margin-top: -7em;
}

section#top_about_bottom .circle_img figure {
    margin-top: 1em;
    float: left;
	margin-left: 10%;
}
section#top_about_bottom .circle_img figure:nth-of-type(2n) {
	float: right;
	margin-left: 0;
	margin-right: 10%;		
}
div.clumn_container {
	width: 420px;
    margin-left: auto;
    margin-right: auto;	
    max-width: 96%;
	display: block;	
}

#top_staff dl.clumn, #top_recruit dl.clumn {
	float: none;
	height: 20em;	
}

/*************** contents start *************************************************************/

/*コンテンツページ共通*/
.circle_img figure figcaption {
    line-height: 1.8em;
}
.square_img figure figcaption {
    line-height: 1.8em;
}
section.main_top div.main_top_ttl {
    top: 36vh;
}
section.airticle_top {
    padding-top: 40px;
}
.inner_m dl.clumn dt .ttl_before {
    font-size: 1.0em;
	letter-spacing: -0.05em;
	padding-top: 0.5em;
}
.inner_m dl.clumn {
    float: right;
	margin-right: 0;
}
.inner_m dl.clumn_l {
    float: left;
	margin-left: 0;
}
.inner_m dl.clumn dt h3.ttl {
    font-size: 1.125rem;
	margin-left: 0;
	margin-right: 0.2em;
}
.inner_m dl.clumn_l dt h3.ttl {
    font-size: 1.125rem;
	margin-left: 0.2em;	
    margin-right: 0em;
}
.inner_m dl.clumn dt h3.ttl span {
    padding: 0.5em 0.2em;
}
.inner_m figure.im {
    width: 81%;
    margin-top: 0;
    float: left;
}
.inner_m figure.im_r {
    float: right;
}
.inner_m .column figure.right {
    float: right;
}
.inner_m dl.clumn dd.clumn_icon img {
    display: none;    
}
p.tab {
    position: absolute;
    top: 0;
    left: -10%;
	right: auto;
    z-index: 2;
    padding: 0.6em 0.2em 0.6em 0.4em;
    font-size: 1.25em;
}
div.map p.tab {
    top: 25%;
}
/* about */
body#page_about section.main_top div.main_top_ttl {
    top: 32vh;
}
section#about_bekkai {
    padding-bottom: 60px;
}
section#about_bekkai .partition_line, section#about_us .partition_line {
    margin-bottom: 2.5em;
}
section#about_bekkai .outline {
    padding: 0em 0 3em 0;
}
section#about_bekkai .outline p.right {
    width: 100%;
    padding-top: 1.5em;
    line-height: 2.0em;
    float: none;
}
section#about_us p.inner_ms {
    padding: 2.5em 0 5em 0;
    line-height: 2.0em;
}
section#about_bekkai .outline img.left {
    width: 60%;
    float: none;
    margin-left: auto;
    margin-right: auto;
    display: block;
}
section#about_bekkai .c_copy_img {
    top: 6%;
    right: 6%;
}
section#about_bekkai .c_copy_img img {
    width: 160px;
}
section#about_bekkai .circle_img figure,
section#about_us .circle_img figure {
    margin-top: 1em;
    float: left;
	margin-left: 10%;
}
section#about_bekkai .circle_img figure:first-of-type,
section#about_us .circle_img figure:first-of-type {
    margin-top: -1em;	
}
section#about_bekkai .circle_img figure:nth-of-type(2n),
section#about_us .circle_img figure:nth-of-type(2n) {
	float: right;
	margin-left: 0;
	margin-right: 10%;		
}
section#profile {
    padding: 60px 0 10px 0;
}
section#profile dl {
    margin-top: 2em;
}
div.map {
	margin-top: 1.0em;
	height: 400px;
}
section#about_us #cultivate p.inner_ms {
    padding-top: 1.25em;
    padding-bottom: 2.5em;
}
/* staff */
section#staff {
    padding-bottom: 30px;
}
section#staff .partition_line {
    margin-bottom: 2.5em;
}
section#staff dl.clumn dt .ttl_before {
    font-size: 1em;
	height: 18em;
	display: block;
}
section#staff dl.clumn dd.v_writing {
    font-size: 0.875em;
}
section#staff dl.clumn dd.text {
    padding-right: 0.8em;
    height: 10em;
    line-height: 1.6em;
}
section#staff dl.clumn_l dd.text {
    padding-left: 0.8em;
}
section#staff .l_icon {
    width: 32px;
    margin-top: 10em;
}
section#staff figure.im {
    width: 68%;
    position: relative;
    margin-bottom: 3em;		
}
section#staff figcaption {
	width: calc(100% - 1em);
    font-size: 0.875em;
	line-height: 1.5em;
}

/* recruit */
section#message {
    padding-bottom: 30px;
}
section#message .partition_line, section#work_flow .partition_line {
    margin-bottom: 2.5em;
}
section#message dl.clumn dd.text {
    display: none;
}
section#message figcaption.name {
    padding-top: 0.8em;
	font-weight: 600;	
}
.square_img figure.half_i {
    width: 90%;
	margin: 0 auto 3em auto;
	float: none;
}
.square_img figure figcaption {
    position: absolute;
    top: -2em;
    left: 1em;
    font-size: 0.95em;
    line-height: 2.2em;
}
section#message .description {
    padding: 2em 0 4em 0;
}
section#message .description p {
    padding-bottom: 1.0em;
}
section#work_flow {
    padding-bottom: 30px;
}
section#work_flow .schedule {
    width: 100%;
    border-collapse: collapse;
    margin-top: 40px;
    margin-bottom: 40px;
}
section#work_flow .schedule th {
	padding-right: 1.5%;
	padding-bottom: 2em;
	font-size: 0.95em; 
}
section#work_flow .schedule td {
	padding-bottom: 2em; 	
}
section#work_flow .schedule td.circle .fa {
	margin-right: -0.78em;	
}

section#work_flow .schedule td.work {
	font-size: 1.0em;	
}
section#work_flow .schedule th img.l_icon {
    width: 60px;
    max-width: 90%;
}
section#work_flow .schedule th img#i_08 {
    width: 72px;
}
section#recruitments dl.left {
	margin-top: 1.5em;
    margin-bottom: 0;	
}
section#recruitments dl.right {
    margin-top: 0;	
}
section#recruitments dl dt {
	padding: 0.5em 0 0.5em 0;
	font-weight: 500;		
}
section#recruitments dl dd.right {
	padding: 0.5em 0 0.5em 1em;
}
section#recruitments img.recruitments_img {
  	width: 200px;
	margin-top: 40px;  	
}

section#recruitments dl.half_i {
    float: none;
	width: 100%;	
}
section#entry h3.ttl span {
    font-size: 1.25rem;
	font-family: 'Noto Serif JP', "游明朝体", "Yu Mincho", yumincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "Sawarabi Mincho", "MS P明朝", "MS PMincho", serif;	
}
#grazing .img_ttl {
	max-width: 200px;
	margin-top: -0.5em;
    margin-bottom: 1.0em;
}
/*************** contact_block start *************************************************************/
section.contact_block {
    padding: 40px 0 30px 0;
}
.contact_btn {
    width: 96%;
    margin: 1em 0 1em 0;
    padding: 16px 2%;
    font-size: 1.5em;
    float: none;
}
.contact_btn span {
    font-size: 0.875rem;
    letter-spacing: 0.1em;
	padding-bottom: 0.5em;
}
section.contact_block p.tel a {
	color:#1C3577;
}

/*************** contact_ *************************************************************/
body#page_contact section.main_top div.main_top_ttl {
    top: 25vh;
}

section#contact {
	padding-bottom: 10px;
}

section#contact p.inner_s {
    padding: 2em 0 1em 0;	
}

section#contact form {
    padding-top: 30px;
    padding-bottom: 30px;
}
section#contact form table {
	width:100%;
}

section#contact form input[type=text],
section#contact form input[type=tel]{
	width:94%; padding:8px; font-size:1.0em; margin-top:5px; margin-bottom:5px;
}
section#contact form textarea {
	width:94%;
}
section#contact form input[type=submit] {
    width: 80%;
    font-size: 1.0rem;
}

/*************** gallery start ****************************************/
#page_gallery section.main_top div.main_top_ttl {
    height: 13em;
}

#gallery_top a.gallery_photo {
    width: 49%;
    margin-right: 2%;
}

#gallery_top a.gallery_photo:nth-of-type(even) {
    margin-right: 0;
}

#gallery_top .movie video {
    width: 100%;
    margin-right: 0;
    margin-block-end: 4%;
}
/*************** footer start *************************************************************/
footer {
	padding: 40px 0 5px 0;
}
footer a.logo {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 120px;
	float: none;
}
footer div.right {
    width: 100%;
	float: none;
	margin-top: 2em;	
}
footer nav ul li {
    margin-right: 1.5em;
}
footer .copy {
    padding-top: 2em;
}
