@charset "UTF-8";
/* GENERAL ---------------------------------------------*/
* {
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    -webkit-box-shadow: none;
    box-shadow: none;
    outline: none;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
body {
    font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Arial, Meiryo, sans-serif;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-overflow-scrolling: touch;
    text-rendering: auto;
    font-feature-settings: "palt"1;
    color: #000;
    font-size: 14px;
    font-weight: 500;
    line-height: 2.15;
    letter-spacing: 0.1em;
    background: #fff;
    min-width: 1200px;
    overflow-x: hidden;
}
.noto {
    font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Arial, Meiryo, sans-serif;
}
.mincho {
    font-family: 'Noto Serif JP', serif;
}
img {
    vertical-align: bottom;
}
a {
    color: #000;
}
.inner {
    width: 1000px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: auto;
}
.inner1400 {
    width: 1400px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: auto;
}
.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.obfit,
.obfit img {
    object-fit: cover;
    font-family: 'object-fit: cover;';
}
.inline {
	display: inline-block;
}


/* RESPONSIVE ---------------------------------------------*/
.sp,
.spin{
    display: none !important;
}
@media (max-width: 1399px) {
    .inner1400 {
    width: 100%;
    margin: auto;
    }
}
@media (max-width: 750px) {
    body {
    width: 100%;
    min-width: unset;
    font-size: 3.467vw;
    line-height: 2;
    }
    .sp {
    display: block !important;
    }
    .spin {
    display: inline-block!important;
    }
    .pc {
    display: none !important;
    }
    .inner {
    width: 100%;
    margin: 0 auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 9.333vw;
    }
    .body_voice_child .inner {
    width: 100%;
    margin: 0 auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 6.667vw;
    }
    .inner1400 {
    width: 100%;
    margin: 0 auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    }
    .w100 {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    }
    img {
    width: 100%;
    vertical-align: middle;
    }
}





/* header
--------------------------------------------------------------*/
header {
	position: relative;
	z-index: 1000;
	width: 100%;
}
header .pc_header {
    align-items: center;
    justify-content: end;
    margin: 0 auto 0;
    padding: 45.5px 0;
    z-index: 100;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateY(0%) translateX(-50%);
    -webkit- transform: translateY(0%) translateX(-50%);
    background: linear-gradient(90deg,#ffffff00 0%,#ffffff00 50%,#fff 50%,#fff 100%);
    width: 100%;
}
header .header_logo {
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    background: #fff;
    padding: 47.5px 30px;
}
header .header_logo a {
    width: 300px;
    height: 25px;
    display: flex;
}
@media (max-width: 750px) {
	header .header_logo {
	padding: 5.333vw 8vw;
	position: relative;
	top: 0;
	left: 0;
	transform: unset;
	-webkit- transform: unset;
	width: 100%;
	}
	header .pc_header {
	background: unset;
	padding: 0;
	position: relative;
	}
	header .header_logo a {
	width: 61.333vw;
	height: 5.109vw;
	}
}


/* Nav
--------------------------------------------------------------*/
.nav_main {
	
}
.nav_main .ul_menu {
	
}
.nav_main .ul_menu > li {
	
}
.nav_main .ul_menu > li a {
    position: relative;
    margin: 0 30px 0 0;
    padding: 10px 0;
    line-height: 1;
    }
.nav_main .ul_menu > li a:hover {
    opacity: 1;
}
.nav_main .ul_menu > li a::after {
    position: absolute;
    bottom: 0px;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #e70011;
    transform: scale(0, 1);
    transform-origin: center top;
    transition: transform .3s;
}
.nav_main .ul_menu > li a:hover::after {
    transform: scale(1, 1);
}
.nav_main .has_sub {
	position: relative;
}
.nav_main .has_sub:hover .mega_menu {
    opacity: 1;
    visibility: visible;
    z-index: 88;
    -moz-transition: ease 0.3s;
    -o-transition: ease 0.3s;
    -webkit-transition: ease 0.3s;
    transition: ease 0.3s;
}
.nav_main .has_sub:hover .mega_menu:before {
    content: '';
    width: 22px;
    height: 28px;
    background-image: url(../img/cmn/hukidashi.png);
    top: -28px;
    position: absolute;
    left: 50%;
    transform: translateY(0%) translateX(-50%);
    -webkit- transform: translateY(0%) translateX(-50%);
}
.nav_main .mega_menu {
    position: absolute;
    top: 55px;
    left: 0;
    z-index: -1;
    opacity: 0;
    -moz-transition: ease 0.3s;
    -o-transition: ease 0.3s;
    -webkit-transition: ease 0.3s;
    transition: ease 0.3s;
    visibility: hidden;
    background: #fff;
    padding: 0 30px;
    border: 1px solid #e5e5e5;
    box-sizing: border-box;
    left: 50%;
    transform: translateY(0%) translateX(-50%);
    -webkit- transform: translateY(0%) translateX(-50%);
}
.nav_main .ul_mega > li a {
	padding: 40px 10px 30px 10px;
	color: #333;
	font-weight: 500;
}
.nav_main .ul_mega > li a .obfit {
	overflow: hidden;
}
.nav_main .ul_mega > li a .obfit img {
    width: 251px;
    height: 155px;
	transition-duration: 0.3s;
}
.nav_main .ul_mega > li a:hover {
    opacity: 1;
}
.nav_main .ul_mega > li a:hover .obfit img {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -o-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
}
.nav_main .ul_mega .text01 {
	color: #273a56;
	font-size: 16px;
	padding: 5px 0 0 0;
}
.nav_main .ul_mega .text01_2 {
	color: #534a49;
}
.nav_main .ul_mega .text02 {
	margin: -5px 0 0 0;
}

/* ハンバーガーアイコン
--------------------------------------------------------------*/
.burger_wrap {
    width: 12vw;
    height: 12vw;
    position: fixed;
    top: 1.867vw;
    right: 2.133vw;
    z-index: 0;
    background: #ffffffc1;
    transition: 1s;
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
}
.burger {
    width: 4.267vw;
    height: 3.733vw;
    position: fixed;
    display: flex;
    align-items: center;
    top: 0.267vw;
    right: 5.867vw;
    z-index: 9999;
    padding: 0.533vw 0;
    margin: 5.867vw  0 0 0;
}
/* 真ん中の線 */
.burger .line {
    width: 100%;
    height: 0.533vw;
    background: #000;
    transition: 0.6s;
    z-index: 10;
}
/* 上の線 */
.burger::before {
    content: "";
    position: absolute;
    width: 4.267vw;
    height: 0.533vw;
    top: 0;
    right: 0;
    background: #000;
    transition: 0.6s;
    z-index: 10;
}
/* 下の線 */
.burger::after {
    content: "";
    position: absolute;
    width: 4.267vw;
    height: 0.533vw;
    bottom: 0;
    right: 0;
    background: #000;
    transition: 0.6s;
    z-index: 10;
}
.burger-active::before {
    transform: rotate(135deg);
    top: 0;
    bottom: 0;
    margin: auto;
	background: #fff;
}
.burger-active::after {
    transform: rotate(-135deg);
    top: 0;
    bottom: 0;
    margin: auto;
	background: #fff;
}
.burger-active > .line {
    transform: scale(0);
}
.burger-active .burger_wrap {
	background: #000;
}

/* メニュー */
.navigation {
    width: 90vw;
    height: 100%;
    background: #f8f8f8;
    position: fixed;
    right: -100vw;
    transition: 0.6s;
    top: 0;
    z-index: 200;
    padding: 16vw 0;
}
.navigation.nav-active {
    right: 0;
    height: 100%;
    overflow: auto;
    box-shadow: 0.533vw 0.533vw 1.067vw gray;
}
.navigation .ul_menu li a:hover {
    opacity: 1;
}
.navigation .ul_menu {
    margin: 2.667vw auto 6.667vw;
    width: 68vw;
    flex-direction: column;
}
.navigation .ul_menu span {
    margin: -1em 0 0 1.35em;
    display: block;
}
.navigation .ul_menu li {
    font-size: 13px;
    border-bottom: 1px solid #e5e5e5;
}
.navigation .ul_menu li a {
    width: 100%;
    font-weight: 600;
    display: block;
    padding: 10px 0;
}
@media (max-width: 750px) {
	.navigation .ul_menu li {
	font-size: 3.467vw;
	}
	.navigation .ul_menu li a {
	padding: 2.667vw 0;
	font-weight: 500;
	}
	.navigation .tel {
    display: block;
    margin: 2.667vw auto 6.667vw;
    width: 68vw;
    background: #000;
    color: #fff;
    text-align: center;
    font-size: 3.467vw;
    font-family: Arial, Meiryo, sans-serif;
    font-weight: 600;
    font-style: italic;
    border-radius: 8px;
    padding: 1vw 0;
 }	
	.navigation .tel span {
	font-size: 5.333vw;
	}
}


/* logo */
.logo_sp img {
    height: 8vw;
    width: auto;
}
.logo_sp a {
    padding: 4vw 6.667vw;
    line-height: 1;
    display: block;
}





/* MV
--------------------------------------------------------------*/
.mv {
    position: relative;
    background: url(../img/cmn/mv.jpg)no-repeat;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    background-size: cover;
    width: 100%;
    padding-top: 53.571%;/* 表示画像の高さ ÷ 表示画像の幅 × 100 */
}
.body_news .mv {
    background: url(../img/news/mv.jpg)no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
}
.body_under .mv {
    background: url(../img/news/mv.jpg)no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
}
@media (max-width: 750px) {
	.mv {
    background: url(../img/cmn/mv_sp.jpg)no-repeat;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    background-size: cover;
    width: 100%;
    padding-top: 89.333%;/* 表示画像の高さ ÷ 表示画像の幅 × 100 */
 }
}




/* 共通
--------------------------------------------------------------*/
.title_red {
	font-size: 13px;
	color: #990000;
	line-height: 1.5;
	margin: 0 0 10px 0;
}
.title_min {
	font-size: 26px;
	font-family: 'Noto Serif JP', serif;
	line-height: 1.75;
	margin: 0 0 25px 0;
}
@media (max-width: 750px) {
	.title_min {
	font-size: 4vw;
	line-height: 1.85;
	margin: 0 0 4vw 0;
	}
	.title_red {
	font-size: 2.933vw;
	margin: 0 0 1.333vw 0;
	font-weight: 600;
	}
}

/* トップページ　コンテンツ
--------------------------------------------------------------*/
.sec_about {
	
}
.sec_about .bg {
    background: url(../img/cmn/bg01.jpg)no-repeat;
    background-position: center;
    background-size: cover;
    padding: 75px 0;
}
.sec_about .text01 {
	width: 625px;
	line-height: 2.6;
	letter-spacing: 0.1em;
}
@media (max-width: 750px) {
	.sec_about .bg {
	background: url(../img/cmn/bg01_sp.jpg)no-repeat;
	background-position: top;
	background-size: cover;
	padding: 8vw 0;
	}
	.sec_about .text01 {
	width: 100%;
	line-height: 2;
	font-size: 3.467vw;
	}
}

.sec_message {
	padding: 75px 0 0 0;
}
.sec_message .ul01 {
	flex-wrap: wrap;
	justify-content: space-between;
}
.sec_message .ul01 > li:nth-child(1) {
	width: 625px;
}
.sec_message .ul01.ul01_2 > li:nth-child(1) {
	width: 100%;
}
.sec_message .ul01 > li:nth-child(2) {
	width: 300px;
}
.sec_message .ul01 .text {
	line-height: 2.6;
	letter-spacing: 0.1em;
	
}
.sec_message .ul01 .name {
	margin: 20px 0 0 0;
	width: 100%;
	text-align: right;
}
.sec_message .ul02 {
	align-items: center;
	justify-content: center;
	margin: 75px 0 0 0;
}
.sec_message .ul02 .text01 {
	margin: 0 0 30px 0;
}
.sec_message .ul02 > li {
	width: 459px;
	text-align: center;
	margin: 0 2.5px;
	padding: 70px 0 30px 0;
	color: #fff;
}
.sec_message .ul02 > li:nth-child(1) {
	background: url(../img/cmn/kubari_b01.jpg)no-repeat;
	background-position: center;
	background-size: cover;
}
.sec_message .ul02 > li:nth-child(2) {
	background: url(../img/cmn/kubari_b02.jpg)no-repeat;
	background-position: center;
	background-size: cover;
}
.sec_message .ul02 > li:nth-child(3) {
	background: url(../img/cmn/kubari_b03.jpg)no-repeat;
	background-position: center;
	background-size: cover;
}
@media (max-width: 750px) {
	.sec_message {
	padding: 8vw 0 0 0;
	}
	.sec_message .ul01 > li:nth-child(1) {
	width: 100%;
	}
	.sec_message .ul01 > li:nth-child(2) {
	width: 100%;
	}
	.sec_message .ul01 .text {
	line-height: 2;
	font-size: 3.467vw;
	}
	.sec_message .ul01 .name {
	margin: 2.667vw 0 5.333vw auto;
	width: 36.267vw;
	}
	.sec_message .ul02 {
	margin: 9.333vw 0 0 0;
	flex-direction: column;
	padding: 0 9.333vw;
	}
	.sec_message .ul02 img{
	width: 6.133vw;
	height: auto;
	}
	.sec_message .ul02 .text01 {
	margin: 0 0 4vw 0;
	}
	.sec_message .ul02 > li {
	width: 100%;
	text-align: center;
	margin: 0 0 4.533vw;
	padding: 8vw 0 6.667vw 0;
	}
	.sec_message .ul02 > li p {
	letter-spacing: 0;
	}
	.sec_message .ul02 > li:nth-child(3) {
	margin: 0;
	}
}

.sec_company {
	padding: 75px 0;
}
.sec_company .ul01 {
	justify-content: space-between;
	flex-wrap: wrap;
}
.sec_company .ul01 li {
	width: 470px;
	border-bottom: 1px solid #e5e5e5;
	padding: 20px 0;
}
.sec_company .ul01 li:nth-child(-n+2) {
	border-top: 1px solid #e5e5e5;
}
.sec_company .text01 {
	padding: 0 0 0 30px;
	width: 140px;
}
.sec_company .text02 {
	flex: 1;
}
.sec_company .text03 {
	margin: 25px 0 0 30px;
}
.sec_company .text04 {
	margin: 5px 0 -5px 30px;
}
.sec_company .ul02 {
	margin: 0 0 35px 0;
}
.sec_company .ul02 li {
	margin: 0 0 0 30px;
}
.sec_company .map {
	margin: 30px 0 0 0;
}
.sec_company .map iframe {
	width: 100%;
	height: 325px;
}
@media (max-width: 750px) {
	.sec_company {
	padding: 8vw 0 0 0;
	}
	.sec_company .ul01 li {
	width: 100%;
	padding: 5.333vw 0;
	}
	.sec_company .ul01 li:nth-child(-n+2) {
	border-top: unset;
	}
	.sec_company .ul01 li:nth-child(1) {
	border-top: 1px solid #e5e5e5;
	}
	.sec_company .text01 {
	padding: 0;
	width: 29.333vw;
	}
	.sec_company .text03 {
	margin: 6.667vw 0 0 0;
	}
	.sec_company .text04 {
	margin: 1.333vw 0 0 0;
	}
	.sec_company .ul02 {
	margin: 0 0 6.667vw 0;
	flex-wrap: wrap;
	}
	.sec_company .ul02 li {
	margin: 0;
	width: 30%;
	}
	.sec_company .ul02 li:nth-child(6) {
	width: 60%;
	}
	.sec_company .map {
	margin: 2.667vw 0 8vw 0;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	}
	.sec_company .map iframe {
	width: 100%;
	height: 60vw;
	}
}

.sec_recruit {
	
}
.sec_recruit .bg {
    background: url(../img/cmn/bg02.jpg)no-repeat;
    background-position: center;
    padding: 75px 0 60px 0;
    background-size: cover;
    color: #fff;
}
.sec_recruit .bg .title_red {
    color: #fff;
}
.sec_recruit .text01 {
	line-height: 2.6;
}
.sec_recruit .ul01 {
	margin: 50px 0 75px 0;
	flex-direction: column;
	border-right: 1px solid #e2e2e2;
	border-left: 1px solid #e2e2e2;
	border-top: 1px solid #e2e2e2;
}
.sec_recruit .ul01 li {
	border-bottom: 1px solid #e2e2e2;
}
.sec_recruit .box01 {
	border-right: 1px solid #e2e2e2;
	background: #f5f7f7;
	width: 200px;
	padding: 0 0 0 30px;
}
.sec_recruit .box01 p {
    display: flex;
    align-items: center;
    height: 100%;
}
.sec_recruit .box02 {
	flex: 1;
	padding: 28px 30px;
	color: #666;
}
.sec_recruit .box02 .text_wrap {
	margin: 20px 0 0 0;
}
.sec_recruit .box02 .red {
	color: #990000;
	margin: 10px 0 0 0;
}
.sec_recruit .box02 .text01 {
	font-size: 15px;
	color: #000;
}
.sec_recruit .box02 .text01 span {
	font-size: 14px;
	color: #666;
	margin: 0 0 0 1em;
}
.sec_recruit .box02 .text02 {
	font-size: 14px;
	text-indent: -1em;
	padding: 0 0 0 1em;
	font-feature-settings: "palt"0;
}
.sec_recruit .box02 .text03 {
	color: #000;
	text-indent: -1em;
	padding: 0 0 0 1em;
}
.sec_recruit .box02 .text04 {
	color: #000;
}
@media (max-width: 750px) {
	.sec_recruit .bg {
	background: url(../img/cmn/bg02_sp.jpg)no-repeat;
	background-position: center;
	padding: 8vw 0;
	background-size: cover;
	}
	.sec_recruit .text01 {
	line-height: 2;
	}
	.sec_recruit .ul01 {
	margin: 0;
	flex-direction: column;
	border: unset;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	}
	.sec_recruit .ul01 li {
	border-bottom: unset;
	flex-direction: column;
	}
	.sec_recruit .box01 {
	border-right: unset;
	background: #e3e9e9;
	width: 100%;
	padding: 4.4vw 8vw;
	border-bottom: unset;
	font-size: 4vw;
	}
	.sec_recruit .box02 {
	padding: 4vw 6.667vw 6.667vw 8vw;
	}
	.sec_recruit .box02 .text_wrap {
	margin: 5.333vw 0 0 0;
	}
	.sec_recruit .box02 .red {
	margin: 2.667vw 0 0 0;
	}
	.sec_recruit .box02 .text01 {
	font-size: 3.733vw;
	}
	.sec_recruit .box02 .text01 span {
	font-size: 3.733vw;
	}
	.sec_recruit .box02 .text02 {
	font-size: 3.467vw;
	}
}


/* footer
--------------------------------------------------------------*/
footer .footer_bg {
    background: #000;
    color: #fff;
    padding: 40px 0;
}
footer .footer_top {
	align-items: baseline;
	padding: 20px 0 15px 0;
	justify-content: space-between;
	border-bottom: 1px solid #fff;
	margin: 0 0 15px 0;
}
footer .footer_top a {
	display: block;
	color: #fff;
	line-height: 1;
}
footer .footer_top .st0 {
	fill: #fff;
}
footer .name {
	width: 378px;
	height: auto;
	font-size: 13px;
}
footer .number {
	font-family: Arial, Meiryo, sans-serif;
	font-weight: 600;
	font-style: italic;
}
footer .tel {
	font-size: 20px;
	margin: 0 0 3px 0;
}
footer .tel span {
	font-size: 30px;
}
footer a.mail {
	background: #fff;
	color:#000;
	padding: 1.5px 4px;
	font-size: 13px;
	margin: 0 0 0 30px;
}
footer .tel_warp {
	align-items: center;
}
footer .footer_bottom {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.12em;
}

@media (max-width: 750px) {
	footer .footer_bg {
	padding: 5.333vw 0;
	}
	footer .footer_top {
	padding: 2.667vw 0 5.333vw 0;
	margin: 0 auto 4vw;
	flex-direction: column;
	text-align: center;
	align-items: center;
	}
	footer .footer_top a {
	margin: 0 0 4vw 0;
	}
	footer .footer_top .st0 {
	fill: #fff;
	}
	footer .name {
	width: 80vw;
	font-size: 3.333vw;
	margin: 0 0 1.333vw 0;
	}
	footer .tel {
	font-size: 3.467vw;
	}
	footer .tel span {
	font-size: 5.333vw;
	}
	footer a.mail {
	padding: 0.933vw 2.133vw 1.467vw;
	margin: 0;
	width: 100%;
	}
	footer .tel_warp {
	align-items: center;
	flex-direction: column;
	}
	footer .footer_bottom {
	font-size: 3.467vw;
	letter-spacing: 0.12em;
	}
}

footer #copy {
    padding: 10px 0;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-align: center;
}
footer #copy a {
	color: #000;
}
@media (max-width: 750px) {
	footer #copy {
	padding: 2.667vw 0;
	letter-spacing: 0em;
	font-size: 2.667vw;
	}
}
