@charset "utf-8";


/* common
-----------------------------------------------------------------*/
img {width: 100%;}
ul.indent {
	margin-bottom: 15px;
}
ul.indent li {
	padding-left: 1em;
	text-indent: -1em;
}

/* font
-----------------------------------------------------------------*/
@font-face {
  font-family: 'gyousho';
  src: url('../font/HGRGY_0.TTC') format('truetype');
}
.gyousho {
    font-family: 'gyousho', sans-serif;
}

/* link_box
-----------------------------------------------------------------*/

.link_box a {
    font-size: 18px;
    color: #000;
}
.link_box a::after {
	content: '';
	display: block;
	border-bottom: 1px solid;
	width: 7em;
}
.link_box a:hover::after {
	width: 3em;
	transition: .3s;
}



/* TOPpage
******************************************/

.mv-area {
	margin: 0 auto;
	text-align: center;
    height: 782px;
    background: url(../img/mv.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
}
.mv-area::before {
	content: '';
	display: inline-block;
	background: rgba(0,0,0,.175);
	width: 100%;
	height: 100%;
    position: absolute;
	left: 0;
	top: 0;
}
.mv-area .catch-box {
    position: relative;
    top: 280px;
}
.mv-area .catch-box p {
    font-size: 54px;
    font-weight: bold;
    color: #B50C17;
    line-height: 1.25;
    text-shadow: 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff;
}
.mv-area .catch-box p .txt1 {
	font-size: 50px;
	font-style: italic;
    margin-left: -45px;
    text-shadow: 0 0 2px #fff, 0 0 2px #fff, 0 0 3px #fff;
}
.mv-area .catch-box p .txt2 {
	font-size: 80px;
	font-style: italic;
    text-shadow: 0 0 2px #fff, 0 0 2px #fff, 0 0 3px #fff;
}
.mv-area .catch-box .image-box {
	margin-top: 80px;
	margin-left: auto;
	margin-right: auto;
}
.mv-area .catch-box .image-box p {
    position: relative;
    display: inline-block;
    margin-right: 250px;
}
.mv-area .catch-box .image-box p::before {
    content: '';
    display: inline-block;
    background: url(../img/catch_bg.png) no-repeat;
    background-size: cover;
    background-position: center;
    width: 360px;
    height: 95px;
    position: absolute;
    top: 0;
    left: 0;
}
.mv-area .catch-box .image-box p span {
    font-size: 20px;
    font-weight: 500;
    display: block;
    position: relative;
    z-index: 1;
    color: #fff;
    text-shadow: none;
    top: 19px;
    left: 100px;
    line-height: 0.85;
}
.mv-area .catch-box .image-box p span.en {
    font-style: italic;
    font-family: Pristina;
    font-size: 28px;
}
.topscroll_box {
	text-align: center;
    position: relative;
    top: -90px;
}
.topscroll_box img {
	width: 58px;
	height: 58px;
}
@media screen and (min-width:768.0px) and (max-width:768.9px){
.mv-area .catch-box p {
    font-size: 40px;
	}
.mv-area .catch-box .image-box p {
    margin-right: 180px;
	}
.mv-area .catch-box .image-box p::before {
    width: 315px;
    height: 85px;
	}
.mv-area .catch-box .image-box p span {
    top: 17px;
    left: 80px;
	}
}
@media screen and (max-width:767px){
.mv-area .catch-box p {
    font-size: 28px;
	}
.mv-area .catch-box .image-box {
    margin-top: 55px;
	}
.mv-area .catch-box .image-box p {
	margin-right: 65px;
	}
.mv-area .catch-box .image-box p::before {
    width: 180px;
    height: 50px;
	}
.mv-area .catch-box .image-box p span {
	font-size: 15px;
	top: 14px;
	left: 28px;
    line-height: 0.25;
	}
.mv-area .catch-box .image-box p span.en {
    font-size: 20px;
	left: 35px;
	}
.top_news::before {
    border-top: 30px solid #383838;
    border-right: 30px solid transparent;
    border-left: 30px solid transparent;
    left: -30px;
	}
.top_news .news_box p.en {
    font-size: 18px;
	}
.top_news .news_box p.en span {
    font-size: 12px;
    margin-left: 10px;
	}
}



/* お知らせ top
******************************************/

.top_news {
    position: absolute;
    width: 100%;
    bottom: 20px;
	background: rgba(215,12,25,.75);
}
.top_news::before {
    content: '';
    display: inline-block;
    border-top: 72.9px solid #383838;
    border-right: 72.9px solid transparent;
    border-left: 72.9px solid transparent;
    position: absolute;
    top: 0;
    left: -75px;
}
.top_news::after {
    content: '';
    display: inline-block;
    border-bottom: 72.9px solid #383838;
    border-left: 72.9px solid transparent;
    position: absolute;
    top: 0;
    right: 0;
}
.top_news .news_box {
    padding: 7.5px 10px 15px 10px;
}
.top_news .news_box .flex {
    align-items: center;
}
.top_news .news_box .inleft {
	display: inline-block;
    width: 21%;
}
.top_news .news_box .inright {
    position: relative;
    top: 5px;
    right: -10px;
}
.top_news .news_box p.en {
	font-size: 28px;
	font-weight: 500;
	color: #fff;
    margin-bottom: 0;
}
.top_news .news_box p.en span {
	font-size: 17px;
	font-weight: 500;
	margin-left: 12px;
}
.top_news .news_box a {
    text-decoration: none;
    color: #fff;
    font-weight: 500;
}
.top_news .news_box a span {
    margin-right: 22px;
}
.top_news .news_box img {
	width: 36px;
	height: 36px;
}
@media screen and (min-width:768.0px) and (max-width:768.9px){
.top_news::before {
    border-top: 72.9px solid #383838;
    border-right: 72.9px solid transparent;
    border-left: 72.9px solid transparent;
    left: -80px;
	}
.top_news::after {
    border-bottom: 66px solid #383838;
    border-left: 66px solid transparent;
	}
.top_news .news_box .flex {
    margin-left: auto;
    margin-right: auto;
	}
.top_news .news_box .inleft {
    width: 28%;
	}
.top_news .news_box p.en {
    font-size: 24px;
	}
.top_news .news_box p.en span {
    font-size: 14px;
    margin-left: 10px;
	}
.top_news .news_box .inright {
    top: 3.65px;
    right: 10px;
    text-align: left;
	}
}
@media screen and (max-width:767px){
.top_news .news_box p.en {
	font-size: 20px;
	}
.top_news .news_box p.en span {
    font-size: 12px;
    margin-left: 10px;
	}
.top_news .news_box p.en i {
	display: none;
	}
.top_news .news_box .inleft {
    display: block;
    width: 100%;
	}
.top_news .news_box .inright {
    top: 0;
    right: 0;
    width: 75%;
    text-align: left;
	padding-left: 5.4em;
	text-indent: -5.4em;
	}
.top_news::before {
    border-top: 30px solid #383838;
    border-right: 30px solid transparent;
    border-left: 30px solid transparent;
    left: -30px;
	}
.top_news::after {
    content: none;
	}
.top_news .news_box a span {
    margin-right: 15px;
	}
}



/* top_philosophy
-----------------------------------------------------------------*/

.top_philosophy {
    padding: 80px 0;
    background: url(../img/philosophy_bg.jpg) no-repeat;
    background-size: cover;
    background-position: center;
}
.top_philosophy .inleft {
	display: inline-block;
	width: 55%;
	vertical-align: top;
	position: relative;
}
.top_philosophy .inleft::before {
    content: '';
    display: block;
    border-left: 1px solid;
    width: 1px;
    height: 80px;
    position: absolute;
    top: -40px;
    left: -45px;
}
.top_philosophy .inleft::after {
    content: '';
    display: block;
    border-top: 1px solid;
    width: 110px;
    height: 1px;
    position: absolute;
    top: -25px;
    left: -60px;
}
.top_philosophy .inright {
	display: inline-block;
	width: 32%;
	vertical-align: top;
	background-color: #fff;
	text-align: center;
    padding: 180px 0;
}
.top_philosophy .flex {
    align-items: anchor-center;
    gap: 0 60px;
}
.top_philosophy p.title {
    font-size: 42px;
    margin-bottom: 50px;
    position: relative;
}
.top_philosophy p.title::after {
	content: '';
	display: block;
	border-bottom: 1px solid;
	width: 7em;
	position: relative;
}
.top_philosophy p.text {
    margin-bottom: 25px;
    line-height: 1.95;
}
.top_philosophy img {
	width: 160px;
}
@media screen and (min-width:768.0px) and (max-width:768.9px){
.top_philosophy p.title {
    font-size: 38px;
    margin-bottom: 40px;
	}
.top_philosophy p.text:nth-child(3) {
    margin-bottom: 35px;
	}
.top_philosophy .inright {
    padding: 140px 0;
	}
}
@media screen and (max-width:767px){
.top_philosophy {
    padding: 60px 0 35px 0;
	}
.top_philosophy .inleft {
    display: block;
    width: 100%;
	}
.top_philosophy .inleft::before {
    left: 25px;
	}
.top_philosophy .inleft::after {
    left: 10px;
	}
.top_philosophy p.title {
    font-size: 32px;
    margin-bottom: 25px;
    text-align: center;
	}
.top_philosophy p.title::after {
    margin: 0 auto;
	}
.top_philosophy .inright {
    display: block;
    width: 100%;
    padding: 35px 0;
    margin-top: 25px;
	}
.top_philosophy img {
    width: 138px;
	}
}




/* top_service
-----------------------------------------------------------------*/
.top_service {
    padding: 80px 0;
    background: url(../img/service_bg.jpg) no-repeat;
    background-size: cover;
    background-position: center;
}
.top_service .flex {
	margin-top: 50px;
    gap: 0 30px;
    justify-content: center;
}
.top_service .content {
    background-color: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    display: inline-block;
    width: 22%;
    margin-top: 20px;
}
.top_service .content:nth-child(2n) {
	position: relative;
	top: -40px;
}
.top_service .image_box img {
    width: 100%;
}
.top_service .title_box {
	background-color: #D70C19;
    margin-top: -8px;
    padding: 10px 0;
}
.top_service .title_box p {
    text-align: center;
    font-size: 20px;
    margin-bottom: 0;
    font-weight: 500;
    color: #fff;
}
.top_service .text_box {
    padding: 20px 10px 20px 10px;
}
.top_service .text_box .text {
	font-size: 16px;
	font-weight: 500;
}
.top_service .link_box {
    padding-left: 80px;
    margin-top: 20px;
}
@media screen and (min-width:768.0px) and (max-width:768.9px){
.top_service .link_box {
    padding-left: 0;
    margin-top: 20px;
	}
.top_service .title_box {
    padding: 8px 0;
	}
.top_service .title_box p {
    font-size: 18px;
	}
.top_service .text_box .text {
    font-size: 15px;
	}
}
@media screen and (max-width:767px){
.top_service {
	padding: 25px 0 20px 0;
	}
.top_service .flex {
    margin-top: 10px;
	}
.top_service .content {
    width: 45.75%;
    margin-top: 0;
    margin-right: 20px;
    margin-bottom: 20px;
	}
.top_service .content:nth-child(2n) {
    top: 0;
	margin-right: 0;
	}
.top_service .title_box p {
    font-size: 16px;
	}
.top_service .title_box {
    padding: 6px 0;
	}
.top_service .text_box .text {
    font-size: 14px;
	}
.top_service .text_box {
    padding: 12px 10px 12px 10px;
	}
.top_service .link_box {
    padding-left: 0;
    margin-top: 15px;
	}
.link_box a {
    font-size: 15px;
	}
}


/* top_link
-----------------------------------------------------------------*/

.top_link .inleft {
	display: inline-block;
	width: 35%;
}
.top_link .inright {
	display: inline-block;
	width: 65%;
}
.top_link a {
	position: relative;
}
.top_link a::before {
	content: '';
	display: inline-block;
	background: rgba(0,0,0, .2);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.top_link .inleft a {
    background: url(../img/link01.jpg) no-repeat center center;
    background-size: cover;
    display: block;
	height: 600px;
}
.top_link .inright a {
    display: inline-block;
    width: 50%;
	height: 300px;
}
.top_link .inright .flex:nth-child(1) a:nth-child(1) {
    background: url(../img/link02.jpg) no-repeat center center;
    background-size: cover;
    display: block;
}
.top_link .inright .flex:nth-child(1) a:nth-child(2) {
    background: url(../img/link03.jpg) no-repeat center center;
    background-size: cover;
    display: block;
}
.top_link .inright .flex:nth-child(2) a:nth-child(1) {
    background: url(../img/link04.jpg) no-repeat center center;
    background-size: cover;
    display: block;
}
.top_link .inright .flex:nth-child(2) a:nth-child(2) {
    background: url(../img/link05.jpg) no-repeat center center;
    background-size: cover;
    display: block;
}
.top_link .inleft p.title {
    font-size: 24px;
    font-weight: 500;
    color: #fff;
    position: relative;
    z-index: 1;
    top: 170px;
    left: 50px;
}
.top_link .inleft p span {
	font-size: 16px;
	display: block;
}
.top_link .inleft .link_box {
    position: relative;
    z-index: 1;
    top: 280px;
    left: 50px;
}
.top_link .inleft .link_box p {
    font-size: 18px;
    color: #fff;
}
.top_link .inleft .link_box p::after {
    content: '';
    display: block;
    border-bottom: 1px solid;
    width: 7em;
}
.top_link .inleft a:hover .link_box p::after {
    width: 3em;
    transition: .3s;
}
.top_link .inright p.title {
    font-size: 22.5px;
    font-weight: 500;
    color: #fff;
    position: relative;
    z-index: 1;
    top: 110px;
    text-align: center;
}
.top_link .inright p span {
    font-size: 16px;
    display: block;
}
.top_link .inright a::after {
    content: '';
    display: inline-block;
    border-bottom: 50px solid #D70C19;
    border-left: 50px solid transparent;
    position: absolute;
    right: 0;
    bottom: 0;
}
.top_link .inright i {
    color: #fff;
    position: absolute;
    right: 7px;
    bottom: -13px;
    z-index: 1;
}
.top_link .inright a:hover i {
	font-weight: bold;
	transition: .3s;
}
@media screen and (min-width:768.0px) and (max-width:768.9px){
.top_link .inleft a {
    height: 400px;
	}
.top_link .inleft p.title {
    font-size: 22px;
    top: 240px;
    left: 35px;
	}
.top_link .inleft .link_box {
    top: 256px;
    left: 35px;
	}
.top_link .inright a {
    height: 200px;
	}
.top_link .inright p.title {
    font-size: 22px;
    top: 68px;
	}
.top_link .inright p span {
    font-size: 15px;
	}
}
@media screen and (max-width:767px){
.top_link .inleft a {
    background: url(../img/link01_sp.jpg) no-repeat center center;
	background-size: cover;
    height: 180px;
	}
.top_link .inleft {
    display: block;
    width: 100%;
	}
.top_link .inleft p.title {
    font-size: 18px;
    top: 96px;
    left: 30px;
	position: absolute;
	}
.top_link .inleft p span {
    font-size: 12.5px;
	}
.top_link .inleft .link_box {
    position: absolute;
    top: 125px;
    left: inherit;
    right: 30px;
	}
.top_link .inleft .link_box p {
    font-size: 16px;
	}
.top_link .inright {
    display: block;
    width: 100%;
	}
.top_link .inright .flex {
    display: flex;
	}
.top_link .inright a {
    height: 125px;
	}
.top_link .inright p.title {
    font-size: 16.5px;
    top: 35px;
	}
.top_link .inright p span {
    font-size: 12px;
	}
}



/* top_interview
-----------------------------------------------------------------*/
.top_interview {
    padding: 80px 0 25px;
    margin-left: auto;
    margin-right: auto;
}
.top_interview .content {
    margin-top: 25px;
}
.top_interview a {
    display: block;
    max-width: 520px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
@media screen and (max-width:767px){
.top_interview {
    padding: 30px 0 0px;
	}
.top_interview .content {
    margin-top: 15px;
	}
.top_interview a {
    width: 90%;
	}
}



/* top_news_under
-----------------------------------------------------------------*/

.top_news_under {
    padding: 80px 0;
    background: url(../img/news_bg.jpg) no-repeat;
    background-size: cover;
    background-position: center;
}
.top_news_under .content {
	margin-top: 40px;
}
.top_news_under a {
	display: block;
	color: #000;
	border-bottom: 1px solid #e4e4e4;
	padding-top: 5px;
	padding-bottom: 5px;
	margin-bottom: 10px;
    padding-left: 6.325em;
    text-indent: -6.325em;
}
.top_news_under a:hover {
    background-color: #ecaeb2;
    padding-left: 6.925em;
	transition: .3s;
}
.top_news_under .date {
	margin-right: 22px;
}
.top_news_under .top_link_news {
    margin: 35px auto 0 auto;
    text-align: center;
}
.top_news_under .top_link_news a {
    display: inline-block;
    text-align: center;
    color: #fff;
    background-color: #D70C19;
    padding: 8px 45px;
    border-radius: 5px;
    text-indent: inherit;
}
@media screen and (max-width:767px){
.top_news_under {
	padding: 25px 0 20px 0;
	}
.top_news_under .content {
    margin-top: 5px;
	}
.top_news_under .date {
    margin-right: 15px;
	}
.top_news_under a {
    padding-left: 6.05em;
    text-indent: -6.05em;
	}
.top_news_under a:hover {
    padding-left: 6.5em;
	}
}


/* 以下 下層 ************************************************************************************/


/* 会社概要 about
******************************************/

.about .philosophy {
    padding: 35px 0;
    background: url(../img/about/philosophy_bg.jpg) no-repeat center center;
    background-size: cover;
	position: relative;
}
.about .philosophy::before {
	content: '';
	display: inline-block;
/*
	background: rgba(0,0,0,.425);
*/
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.about .philosophy .box {
    padding: 45px 10px;
	background: rgba(255,255,255, .935);
	position: relative;
}
.about .philosophy .box p {
	font-size: 18.5px;
    font-weight: 600;
	text-align: center;
	font-family: serif;
	line-height: 2.35;
}
.about .philosophy .box p:nth-child(1) {
	margin-bottom: 30px;
}
.about .philosophy .box p:last-child {
	margin-bottom: 0;
}
.about .message {
	padding: 50px 0;
}
.about .message .flex {
	margin-top: 35px;
    gap: 0 45px;
}
.about .message .inleft {
	display: inline-block;
	width: 65%;
}
.about .message .inright {
	display: inline-block;
	width: 32%;
}
.about .message p {
	line-height: 1.75;
	margin-bottom: 25px;
}
.about .message p.name {
	font-size: 18px;
	text-align: right;
}
.about .message p.name span {
	font-size: 30px;
}
.about .company {
	padding: 50px 0;
    background-color: #fbfbfb;
}
.about .company .information_box {
    margin-top: 40px;
}
.about .company dl {
    width: 100%;
    border-bottom: solid 1px #ababab;
    margin-bottom: 22px;
    padding-bottom: 10px;
}
.about .company dl dt {
    display: inline-block;
    width: 14%;
    font-weight: bold;
    vertical-align: top;
}
.about .company dl dd {
	display: inline-block;
	width: 82%;
    vertical-align: top;
}
.about .company iframe {
    width: 100%;
    height: 360px;
    margin-top: 6px;
}
@media screen and (max-width:768.0px) and (max-width:768.9px){
.about .company dl dt {
    width: 18%;
	}
.about .company dl dd {
    width: 78%;
	}
}
@media screen and (max-width:767px){
.about .philosophy {
	padding: 18px 0;
	}
.about .philosophy .box {
	padding: 25px 10px;
	}
.about .philosophy .box p {
	font-size: 13.5px;
	line-height: 1.8;
	}
.about .philosophy .box p:nth-child(1) {
    margin-bottom: 20px;
	}
.about .message {
    padding: 25px 0;
	}
.about .message .flex {
    margin-top: 10px;
	}
.about .message .inleft {
    display: block;
    width: 100%;
	}
.about .message p {
    line-height: 1.6;
    margin-bottom: 15px;
	}
.about .message p.name {
    font-size: 16px;
	}
.about .message p.name span {
    font-size: 26px;
	}
.about .message .inright {
    display: block;
    width: 100%;
	}
.about .company {
    padding: 25px 0;
	}
.about .company .information_box {
    min-height: auto;
    padding-left: 0;
	margin-top: 15px;
    padding-bottom: 0;
	}
.about .company .information_box::before {
	content: none;
	}
.about .company dl {
    margin-bottom: 12px;
    padding-bottom: 0;
	}
.about .company dl dt {
    display: block;
    width: 100%;
    position: relative;
	padding-left: 12px;
	margin-bottom: 3px;
	}
.about .company dl dt::before {
    content: '●';
    display: inline-block;
    width: 10px;
    height: 10px;
    position: absolute;
    top: 4px;
    left: 0;
    font-size: 10px;
	}
.about .company dl dd {
    display: block;
    width: 100%;
	}
.about .company iframe {
    height: 195px;
    margin-top: 8px;
	}
}



/* 事業内容 service
******************************************/

.service .read_box {
	margin: 35px auto 15px auto;
}
.service .read_box.second {
	margin: 35px auto 60px auto;
}
.service .content {
    margin-top: 30px;
    padding: 25px 25px 15px;
    background-color: #f2f2f2;
    border-radius: 20px;
    gap: 0 30px;
}
.service .content:nth-child(9) {
	margin-bottom: 60px;
}
.service .image_box {
	display: inline-block;
	width: 35%;
}
.service .image_box img {
    width: 190px;
}
.service .text_box .title {
}
.service .text_box .title span {
    color: #fff;
    background-color: #000;
    font-size: 18.5px;
    font-weight: bold;
    padding: 8px 20px;
}
#service01 ,
#service02 ,
#service03 ,
#service04 {
	margin-top: -74px;
	padding-top: 74px;
}
@media screen and (max-width:767px){
.service .read_box {
    margin: 15px auto 0px auto;
	}
.service .read_box.second {
    margin: 35px auto 35px auto;
	}
.service .content {
    margin-top: 15px;
    padding: 22px 10px 12px 10px;
    border-radius: 10px;
    gap: 0 30px;
	}
.service .content:nth-child(9) {
    margin-bottom: 40px;
	}
.service .image_box {
    display: block;
    width: 100%;
    text-align: center;
	margin-bottom: 0;
	}
.service .image_box img {
    width: 100%;
	}
.service .text_box .title {
	margin-bottom: 12px;
	}
.service .text_box .title span {
    font-size: 16.5px;
    padding: 6px 18px;
	}
#service01 ,
#service02 ,
#service03 ,
#service04 {
	margin-top: -52px;
	padding-top: 52px;
	}
}



/* 採用情報 recruit
******************************************/

.recruit .requirements {
  background-image: url('../img/recruit/requirements_bg.png');
  background-size: contain;
}
.recruit .requirements .catch {
    padding: 80px 0;
    text-align: center;
}
.recruit .requirements .catch p {
	font-size: 56px;
	font-weight: 500;
}
.recruit .requirements .content {
	margin-bottom: 80px;
}
.recruit .requirements .content p.title {
    font-size: 26px;
    font-weight: 500;
    position: relative;
    margin-bottom: 25px;
}

.recruit .requirements .content p.title:last-child {
	margin-bottom: 0;
}
.recruit .requirements .content p.title::before {
    content: '';
    display: inline-block;
    border-top: 1px solid;
    width: 160px;
    margin-right: 15px;
    position: relative;
    top: -7px;
}
.recruit .requirements .content .item {
    padding: 20px 20px 1px;
    margin-bottom: 25px;
    background-color: #f6f6f6;
    border-radius: 10px;
}
.recruit .requirements .content.case .case_box {
    padding: 35px 20px 5px;
    background-color: #817e35;
}
.recruit .requirements .content.case .flex {
    gap: 0px 25px;
    align-items: flex-start;
}
.recruit .requirements .content.case .item {
    background-color: #fff;
}
.recruit .requirements .content.case .image_box {
	display: inline-block;
	width: 25%;
}
.recruit .requirements .content.case .image_box img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    object-position: center center;
}
.recruit .requirements .content.case .text_box {
	display: inline-block;
	width: 70%;
}
.recruit .requirements .content.case .item.comment {
    padding: 0 20px 1px;
	background: none;
	color: #fff;
    font-weight: 500;
}
.recruit .requirements .content.case .item.comment p {
    margin-bottom: 0;
}

.recruit .requirements .content h4 {
    font-size: 18px;
    font-weight: 600;
    padding-bottom: 8px;
    margin-bottom: 20px;
    border-bottom: 3.5px dotted;
}
.recruit .requirements .content li {
    margin-bottom: 0px;
}
.recruit .requirements .requirements_list {
    padding: 25px 25px 5px;
    background-color: #355481;
    color: #fff;
    border-radius: 10px;
}
.recruit .requirements .requirements_list .content {
	margin-bottom: 0;
}
.recruit .requirements .requirements_list .content li {
    margin-bottom: 5px;
    font-weight: 500;
}
.recruit .requirements .message_box {
    padding: 30px 30px 10px;
    background-color: #35817b;
    border-radius: 10px;
}
.recruit .requirements .message_box .flex {
    gap: 0 45px;
    align-items: center;
}
.recruit .requirements .message_box .inleft {
	display: inline-block;
	width: 26%;
}
.recruit .requirements .message_box .inright {
	display: inline-block;
	width: 70%;
    color: #fff;
}
.recruit .requirements .message_box .inright ul {
	margin-top: 20px;
	margin-bottom: 20px;
}
.recruit .requirements .content .message_box p.title {
    font-size: 22px;
    font-weight: 500;
    margin-bottom: 30px;
    text-align: center;
    color: #fff;
}
.recruit .requirements .content .message_box p.title::before {
    content: none;
}

.recruit .recruit_box {
	margin-top: 25px;
	padding: 35px;
}
.recruit .recruit_box dl {
    margin-bottom: 25px;
    padding-bottom: 5px;
    border-bottom: 3.5px dotted;
}
.recruit .recruit_box dl dt {
	display: inline-block;
    width: 10.5%;
	vertical-align: top;
}
.recruit .recruit_box dl dt span {
    width: 5em;
    padding: 5px 10px;
    background-color: #000;
    color: #fff;
    font-weight: 600;
    display: block;
    text-align: center;
}
.recruit .recruit_box dl dd {
	display: inline-block;
	width: 86%;
	vertical-align: top;
}
.form {
    background-color: #000;
    padding: 50px 0 35px 0;
	position: relative;
    background-image: url("../img/recruit/recruit_form_bg.jpg");
    background-size: cover;
    background-repeat: repeat;
}
.form.complete {
    padding: 100px 0;
}
.form::after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
	background: rgba(0,0,0,.725);
	width: 100%;
	height: 100%;
}
.form h3 ,
.form h3::after {
	color: #fff;
    position: relative;
    z-index: 1;
}
.form p.explanation {
	color: #fff;
    font-weight: 500;
    margin-bottom: 40px;
}
.form_box {
    margin: 50px auto 0px auto;
    padding: 10px 35px 10px;
    position: relative;
    z-index: 1;
}
.form_box table {
	width: 100%;
}
.form_box tr {
	margin-bottom: 25px;
}
.form_box tr th {
    display: inline-block;
    width: 14%;
    vertical-align: top;
    font-weight: bold;
	color: #fff;
}
.form_box tr th p {
    font-weight: bold;
	color: #fff;
}
.form_box tr td {
	display: inline-block;
	width: 85%;
	vertical-align: top;
	color: #fff;
}
.form_box tr td input {
    padding: 8px 8px;
    width: 80%;
}
.form_box tr.birth td input {
	width: 15%;
}
.form_box tr.birth td span:nth-child(2) input ,
.form_box tr.birth td span:nth-child(3) input {
	width: 8%;
}
.form_box tr.select select {
    padding: 8px 8px;
}
.form_box tr.radio input {
    width: auto;
}
.form_box tr textarea {
    padding: 8px 8px;
    width: 82%;
}
.form_box .send_box {
    text-align: center;
    margin-top: 10px;
}
.form_box .send_box.under {
    margin-top: 25px;
}
.form_box .send_box input {
    color: #fff;
    background: #d70c19;
    padding: 25px 50px;
    border: 0;
    font-size: 16px;
    font-weight: 600;
    width: 15em
}
.form_box .send_box input:hover {
	opacity: .75;
	transition:.3s;
}
.form_box .send_box span {
	display: none;
}
.form.complete p {
    color: #fff;
    position: relative;
    z-index: 1;
}
@media screen and (max-width:767px){
.recruit .requirements .catch {
    padding: 25px 0;
	}
.recruit .requirements .catch p {
    font-size: 28px;
	}
.recruit .requirements .content {
    margin-bottom: 25px;
	}
.recruit .requirements .content p.title {
    font-size: 16.5px;
    font-weight: 600;
    margin-bottom: 8px;
	}
.recruit .requirements .content p.title::before {
    width: 40px;
    margin-right: 8px;
	}
.recruit .requirements .content .item {
    padding: 15px 10px 1px;
    margin-bottom: 18px;
    border-radius: 8px;
	}

.recruit .requirements .content.case .flex {
	display: flex;
    gap: 0px 15px;
	}
.recruit .requirements .content.case .image_box {
    width: 28%;
	}
.recruit .requirements .content.case .text_box {
    width: 68%;
	}
.recruit .requirements .content.case .image_box img {
    width: 100%;
    height: 100%;
    object-fit: contain;
	}
.recruit .requirements .content h4 {
    font-size: 14px;
    padding-bottom: 8px;
    margin-bottom: 14px;
    border-bottom: 3px dotted;
    padding-left: 2em;
    text-indent: -2em;
	}
.recruit .requirements .message_box {
    padding: 25px 10px 5px;
    border-radius: 8px;
	}
.recruit .requirements .content .message_box p.title {
    font-size: 18px;
    margin-bottom: 15px;
	}
.recruit .requirements .message_box .inright {
    display: block;
    width: 100%;
	}
.recruit .requirements .message_box .inleft {
    display: block;
    width: 50%;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
	}
.form {
    padding: 20px 0;
	}
.form.complete {
    padding: 35px 0 25px 0;
	}
.form p.explanation {
    margin-bottom: 25px;
	}
.form_box {
    margin: 30px auto 0px auto;
    padding: 10px 0px 10px;
	}
.form_box tr {
    display: block;
    margin-bottom: 15px;
    padding-bottom: 0px;
    border-bottom: 1px solid #979797;
	}
.form_box tr.birth ,
.form_box tr.radio {
	text-align: center;
	}
.form_box tr th {
    display: block;
    width: 100%;
	}
.form_box tr th p {
	margin-bottom: -5px;
	}
.form_box tr td {
    display: block;
    width: 100%;
	}
.form_box tr td input {
    width: 94%;
	}
.form_box tr.select select {
    width: 68%;
	}
.form_box tr textarea {
    width: 98.5%;
	}
.form_box tr.birth td input {
	width: 18%;
	}
.form_box tr.birth td span:nth-child(2) input ,
.form_box tr.birth td span:nth-child(3) input {
	width: 10%;
	}
.form_box .send_box input {
    padding: 22px 40px;
    font-size: 15px;
	}
}



/* お問い合わせ contact
******************************************/
.contact.form {
    background-color: #000;
    padding: 35px 0;
	position: relative;
    background-image: url("../img/contact/contact_form_bg.jpg");
    background-size: cover;
    background-repeat: repeat;
}
.contact.form.complete {
    padding: 100px 0;
}
.contact .form_box .send_box input {
    background: #d70c19;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    display: none;
}
@media screen and (max-width:767px){
.contact.form.complete {
    padding: 35px 0 25px 0;
	}
}



/* プライバシーポリシー policy
******************************************/

.policy_box {
    padding: 45px 0 55px 0;
}
.policy_box .read {
	margin-bottom: 40px;
}
.policy_box .content {
    margin-bottom: 30px;
}
.policy_box li {
	padding-left: 1em;
	text-indent: -1em;
	margin-bottom: 0;
}
@media screen and (max-width:767px){
.policy_box {
    padding: 15px 0 5px 0;
	}
.policy_box .read {
	margin-bottom: 20px;
	}
.policy_box .content {
    margin-bottom: 25px;
	}
}




/* サイトマップ sitemap
******************************************/

.sitemap_box {
	margin: 45px auto;
}
.sitemap_box a {
    text-decoration: none;
    color: #fff;
    background-color: #D70C19;
    padding: 15px 10px 17px 10px;
    display: inline-block;
    width: 29%;
    margin-right: 30px;
    margin-bottom: 30px;
    text-align: center;
    font-weight: bold;
    border-radius: 50px;
}
.sitemap_box a:nth-child(3n) {
	margin-right: 0;
}
@media screen and (min-width:768.0px) and (max-width:768.9px){
.sitemap_box {
    margin: 30px auto 20px auto;
	}
.sitemap_box a {
    width: 26%;
	}
}
@media screen and (max-width:767px){
.sitemap_box {
    margin: 30px auto 20px auto;
	}
.sitemap_box a {
    width: 41%;
    margin-right: 15px;
    margin-bottom: 25px;
    padding: 12px 10px 14px 10px;
	}
.sitemap_box a:nth-child(3n) {
    margin-right: 15px;
	}
.sitemap_box a:nth-child(2n) {
	margin-right: 0;
	}
}



/* お知らせ一覧・詳細 topics
******************************************/

.topics {
	margin: 45px auto;
}
.topics table {
	width: 100%;
}
.topics table tr {
    border-bottom: 1px solid #dedede;
    margin-bottom: 15px;
    padding-bottom: 10px;
    display: block;
}
.topics table th {
	display: inline-block;
    width: 16%;
	vertical-align: top;
	margin-bottom: 0;
}
.topics table th p {
	display: inline-block;
	margin-bottom: 5px;
}
.topics table th span ,
.topics.single span.category {
    padding-left: 15px;
    font-size: 11px;
    font-weight: bold;
    background-color: #000;
    padding: 3.5px 0px 3px 8px;
    margin-left: 8px;
	margin-bottom: 5px;
    color: #fff;
    width: 54px;
    display: inline-block;
    border-radius: 0px;
    position: relative;
    top: -1px;
}
.topics.single span.category {
    margin-left: 0;
}
.topics table td {
	display: inline-block;
    width: 80%;
	vertical-align: top;
	margin-bottom: 0;
}
.topics table a ,
.topics.single a {
	color: #000;
}
.topics.single a:hover {
	text-decoration: underline;
}
.wp-pagenavi {
    text-align: center;
    margin: 25px auto 35px auto;
    letter-spacing: 2px;
}
.wp-pagenavi a, .wp-pagenavi span {
    margin: 2px 3.5px;
}
@media screen and (max-width:767px){
.topics table th {
    display: block;
    width: 100%;
	}
.topics table td {
    display: block;
    width: 100%;
	}
.topics table th p ,
.topics.single p {
    margin-bottom: 3.25px;
	}
.topics table th span ,
.topics.single span.category {
	font-size: 10px;
    width: 48.5px;
    padding: 4px 0px 2px 8px;
	}
.wp-pagenavi {
    margin: 15px auto 25px auto;
	}
}




/* よくある質問 faq
******************************************/

.faq {
    padding: 40px 0;
}
.faq_box {
	margin-top: 25px;
}
.faq .faq-item {
    margin-bottom: 22px;
}
.faq .faq-question {
  cursor: pointer;
  padding: 1em;
  background: #d70c19;
  color: #fff;
  font-weight: bold;
  position: relative;
}
.faq .faq-question::after {
    content: '';
    display: inline-block;
    background: url(../img/faq/faq_open.png) no-repeat;
    background-size: cover;
    width: 40px;
    height: 40px;
    position: absolute;
    right: 11px;
    top: 11px;
}
.faq .faq-question p {
	margin-bottom: 0;
	color: #fff;
	font-weight: bold;
    width: 82%;
    padding-left: 1.915em;
    text-indent: -1.915em;
}
.faq .active .faq-question::after {
    background: url(../img/faq/faq_close.png) no-repeat;
    background-size: cover;
}

.faq .faq-answer {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.15s ease, padding 0.15s ease;
  background: #fafafa;
  padding: 0 1em;
}
.faq .faq-answer p {
	margin-bottom: 0;
}
.faq-item.active .faq-answer {
  max-height: 400px;
  padding: 1.35em 1em;
}
@media screen and (max-width:767px){
.faq .faq-question {
    padding: 0.85em 1em;
	}
.faq .faq-question::after {
    width: 30px;
    height: 30px;
    right: 12px;
    top: 12px;
	}
.faq .faq-question p {
    font-size: 14.75px;
	}
.faq-item.active .faq-answer {
    padding: 1em;
	}
}





