/*色管理*/
:root {
	--blue1: #417caf;
	--black: #333;
	--black1: #000;
	--black2: #6A6A6A;
	--red: #F15859;
	--white: #fff;
	--gray: #f7f7f7;
	--gray2: #040404;
	--gray3: #dedede;
	--yellow: #FCDC4A;
	--orange: #ff9654;
}
/* フォント

font-family: vdl-penletter, sans-serif;
font-style: normal;
font-weight: 500;

*/

.text-red{
	color: var(--red) !important;
	font-weight: bold;
}

.text-blue{
	color: var(--blue4) !important;
	font-weight: bold;
}

.text-yellow{
	color: var(--yellow) !important;
}

.marker {
	background: linear-gradient(transparent 60%, var(--yellow) 60%);
}

.inner{
		max-width: 1200px !important;
    width: 80%;
	 margin: auto;
	padding-right: 25px;
	padding-left: 25px;
}
@media (max-width: 768px) {
	.inner{
		width: 95%;
		padding-right: 10px;
		padding-left: 10px;
	}
}

/* スマホ版のみ表示 */
.u-mobile {
	display: none;
}
@media (max-width: 768px) {
	.u-mobile {
		display: block;
	}
}

/* PC版のみ表示 */
.u-desktop {
	display: block;
}
@media (max-width: 768px) {
	.u-desktop {
		display: none;
	}
}

.main-contents{
	padding-bottom: 100px;
}


.site-title,
.keni-header_cont {
    display: none;
}
.top-h1 {
 background: var(--blue1)!important;
    color: #fff;
}
.top-h1-write {
    max-width: 1200px!important;
}

.keni-header_outer {
	display: none;
}


/*目次非表示  */
#toc_container {
    background: #f9f9f9;
    border: 1px solid #aaa;
    padding: 10px;
    margin-bottom: 1em;
    width: auto;
    display: table;
    font-size: 95%;
    display: none!important;
}

/* 自動<p>タグの非表示 */
p:empty {
    display: none;
}

/* pのmargin-bottom削除 */
.article-body p{
	margin-bottom: 0 !important;
}

figure{
	margin: 0 !important;
}

/* 自動<p>タグの非表示 */

/*幅調整*/
.col1 .keni-main .keni-section_wrap {
		width:100% !important;
		margin:0 auto;
		padding: 0 5%;;
}

.col1 .keni-section_wrap{
		max-width: 100% !important;
	}

@media (max-width: 768px) {
	.col1 .keni-section_wrap{
		max-width: 100% !important;
	}
}

/* @media (max-width:768px) {
		.keni-main .keni-section_wrap {
		width:100%;
		margin:0 auto;
		padding: 0 5%;
		}
	} */

a:hover {
	opacity: 0.8;
}

body{
	font-family: "Noto Sans JP", sans-serif !important;
}


.keni-section {
	background: #fff!important;
}

.h1_title {
    width: 100%;
    margin: 0 auto;
}

.h1_title h1 {
    display: inline-block;
    width: 600px;
    margin-left: calc(50% - 300px);
    color: #fff;
}

.aligncenter {
    display: block;
    float: none;
    margin-right: auto;
    margin-bottom: 0em !important;
    margin-left: auto;
}

/* pc時の全体幅 */
/* .col1 .keni-section_wrap {
	max-width: 600px!important;
} */

.keni-main_inner {
	padding: 0px 0!important;
}

.keni-container,.fn-keni-container{
	padding-bottom: 0!important;
}

.keni-main .keni-section_wrap {
	padding: 0px 0px!important;
	margin: 0;
}

.col1 .keni-section_wrap{
	width: 100% !important;
}

img{
	width: 100%;
}

/*SPのみ改行  */
.sp_br {
	display: none;
}

/*デフォルトのCSS消去*/
p {
	font-size: 18px !important;
}

ul {
	margin: 0!important;
	padding-left: 10px!important;
	list-style: none;
}


/*  font  */
:root {
	--gothic: font-family:"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif!important;
	--mincho: font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif!important;
	--hiragino: font-family: 'ヒラギノ角ゴシック','Hiragino Sans', sans-serif;
	--maru: font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO",sans-serif!important;
}

h2,
.h2_training {
	text-align: center!important;
}

h2 {
	background: var(--blue1)!important;
}

/* -------------------------共通タイトルスタイルまとめ------------------------- */
.main-title{
	text-align: center;
}

.main-title-en{
	font-family: "Montserrat", sans-serif;
	font-size: 50px;
	color: var(--blue1);
	position: relative;
	font-weight: 500;
	text-transform: capitalize;
}

.main-title-en::after{
	position: absolute;
  bottom: -10px;
  left: calc(50% - 30px);
  width: 60px;
  height: 3px;
  content: '';
  border-radius: 3px;
  background: var(--gray3);
}

h2.main-title-ja{
	margin: 0 !important;
	background: transparent !important;
	padding-top: 15px !important;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	font-size: 16px;
	color: var(--black);
	font-weight: normal;
	letter-spacing: 0.1em;
}

/* ーーーーーーーーーーfvーーーーーーーーーーー */

.fv{
	width: 100%;
	position: relative;
	z-index: 1;
	background-color: var(--white);
	opacity: 0.6;
	background-blend-mode: overlay;
}

.fv__title{
	position: absolute;
	top: 50%;
	left: 50%;
	background: transparent !important;
	transform: translate(-50%,-50%);
	z-index: 2;
	margin: 0 !important;
	padding: 0;
	font-size: 50px;
	text-shadow: var(--black) 1px 0 1px;
	color: var(--black1);
}

@media (max-width: 768px) {
	.fv{
		width: 100%;
	}
	.fv__title {
		font-size: 22px;
	}
}


/* -------- サービス -------- */
.service{
	margin-top: 100px;
	margin-bottom: 100px;
}
.service__content{
	margin-top: 30px;
	text-align: center;
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.service__content-img img{
	width: 150px;
	height: inherit;
	margin-inline:  auto;
}

@media (max-width: 768px) {
	.service__content p{
		font-size: 16px !important;
	}
}

/* ------ 強み ---- */

.strengths{
	padding-top: 100px;
	padding-bottom: 100px;
	background: var(--gray);
}
.strengths__block {
	margin-top: 30px;
}

.strengths__items {
	display: flex;
	flex-direction: column;
	gap: 80px;
}

.strengths__item {
	display: flex;
	justify-content: center;
	gap: 50px;
}

.strengths__item:nth-child(2n){
	flex-direction: row-reverse;
}

.strengths__item-img {
	width: 30%;
	position: relative;
}
/*
.strengths__item-img.--1:before{
	content: '01';
	position: absolute;
	top: -20px;
	left: 0;
	font-size: 100px;
	font-weight: bold;
	color: var(--white);
}
.strengths__item-img.--2:before{
	content: '02';
	position: absolute;
	top: -20px;
	left: 0;
	font-size: 100px;
	font-weight: bold;
	color: var(--white);
}
.strengths__item-img.--3:before{
	content: '03';
	position: absolute;
	top: -20px;
	left: 0;
	font-size: 100px;
	font-weight: bold;
	color: var(--white);
} */

.strengths__item-img img{
	border-radius: 15px;
}

.strengths__item-content {
	margin-top: 30px;
}

h3.strengths__item-title {
	border: none;
	margin-bottom: 0;
	padding: 0;
	font-size: clamp(1.5625rem, -0.1042rem + 3.4722vw, 2.5rem);
	color: var(--black);
}

.strengths__item-text {
	margin-top: 20px;
	font-size: 16px !important;
	line-height: calc(32/16);
}


@media (max-width: 768px) {

	.strengths__item,
	.strengths__item:nth-child(2n) {
		flex-direction: column;
		gap: 15px;
	}
	.strengths__item-img{
		width: 100%;
	}
	.strengths__item-content{
		margin-top: 0;
	}

	.strengths__item-title{
		font-size: 18px !important;
	}
	.strengths__block{
		margin-top: 50px;
	}
}




/*よくある質問  */
.yellow_bg {
	background: var(--yellow_bg);
	margin-bottom: 20px;
}

/*よくある質問のタイトル、アクセス情報のタイトル  */
.faq{
	margin-top: 100px;
}

.faq_inner {
	list-style: none;
}

.faq_inner li {
	background: #fff;
	padding: 20px;
	margin-bottom: 30px;

}

.faq__block{
	margin-top: 30px;
}

/*よくある質問*/
details{
	margin-bottom: 25px;
}
details summary {
    list-style: none;
    cursor: pointer;
    position: relative;
    color: var(--blue5);
    font-size: 18px;
	padding-left: 45px;
	padding-bottom: 12px;
	border-bottom: solid 1px var(--gray2);
}
summary::-webkit-details-marker {
	 display: none;
} /*iphoneの▼非表示*/

details[open] summary::after {
    content: "−";
    position: absolute;
    top: 0px;
    right: 10px;
}
details summary::after {
    content: "＋";
    position: absolute;
    top: 0px;
    right: 10px;
}
details summary::before {
    content: "Q.";
    position: absolute;
    left: 0px;
	font-size: 30px;
	font-weight: bold;
	color: var(--blue1);
}
.faq p::before{
	content: "A.";
    position: absolute;
	 top: 5px;
    left: 0px;
	 font-size: 30px;
	color: var(--yellow);
	font-weight: bold;
}
.faq p {
	margin-bottom: 0 !important;
	position:relative;
	background:var(--beige);
	padding-top: 20px;
	padding-left: 40px;
	padding-bottom: 10px;
	font-size: 16px !important;
	line-height: calc(24/16);
}


@media (max-width: 600px) {

	details summary ,.qa p {
		font-size: 14px;
		padding-left: 30px;
		padding-bottom: 9px;
	}
	.faq p {
		font-size: 14px !important;
		padding-left: 30px;
	}
	details summary::before,
	.faq p::before{
			font-size: 20px;
	}
}

/*アクセス情報  */
.access{
	margin-top: 150px;
}

.access__img {
	padding-top: 30px;
	text-align: center;
}

.access__img img{
	width: 300px;
}

tbody th, td{
	padding: 0 !important;
	border: none !important;
	line-height: inherit !important;
	text-align: justify;

}

tbody th{
	width: 30%;
	text-align: left !important;
	background: transparent !important;
	font-size: 23px;
	font-weight: 500;
}

tbody tr{
	display: flex;
	padding-top: 30px;
	padding-bottom: 10px !important;
	gap: 50px;
	border-bottom: solid 1px var(--gray2);
}

tbody td{
	width: 70%;
	font-size: 16px !important;
}

@media (max-width: 768px) {
	tbody tr {
		flex-direction: column;
		gap: 10px;
	}
	tbody th,tbody td{
		width: 100%;
	}
}


/* copyright */
.keni-copyright{
	text-align: center;
}

/*フッターボタン*/
.footer-btn {
    display: block;
    position: fixed;
    bottom: 6px;
    right: 10px;
    width: 400px;
    z-index: 1000;
    transition-duration: 0.6S;
}

.footer-btn a {
    line-height: 0em;
}

.footer-btn__link{
	width: 95%;
	margin: auto;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
@media (max-width: 768px) {
	.footer-btn>.footer-btn__block {
		display: flex;
	}
}


/*お客様の声SP  */
@media screen and (max-width: 768px) {
	.flex_voice {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width: 90%!important;
		margin: 0 auto!important;
	}

	.voice_img {
		width: 100%;
	}
	.announce {
		padding-left: 20px;
		text-align: left;
	}

	.voice_txt {
		width: 90%;
		margin: 0 auto;
	}
/*アクセスSP  */
	.access_info th {
		width: 30%;
	}


/* フッターボタンSP */
	.footer-btn {
        bottom: 0%;
        right: 0%;
        width: 100%;
        z-index: 100;
    }
	.footer-btn__link{
		width: 100%;
		gap: 5px;
	}
}

/* お問い合わせ */
.contact{
	margin-top: 100px;
}

.contact__link{
	margin-top: 50px;
	text-align: center;
}

.contact__link a {
	font-size: 25px;
	font-weight: bold;
	color: var(--blue1);
}

.contact__link a:hover{
	color: var(--yellow) !important;
}

/*-------------求人情報------------ */
.recruit{
	margin-top: 100px;
	padding: 60px 0;
	background: var(--gray);
}


/* ---------------- 求人情報 フォーム ----------------- */
.form{
	width: 100%;
	max-width: 600px;
	margin-top: 50px;
	margin-inline: auto;
	padding: 30px;
	background: var(--white);
	border: var(--black) solid 1px;
	display: flex;
	flex-direction: column;
	gap: 10px;

}


.form input[type=text],
.form input[type=mail],
.form input[type=tel],
.form input[type=textarea]{
	margin-top: 5px;
	width: 100%;
}

.form p{
	font-size: 16px !important;
}

.form__text{
  width: 100%;
  margin: 20px auto;
  padding: 2.5%;
  height: 150px;
  background-color: #ffffff;
  overflow: scroll;
  border: 1px solid #f0f0f0;
}

.form__text p{
	font-size: 13px !important;
	line-height: 1.7;
}

span.form__required{
	background: var(--red);
	color: var(--white);
	font-size: 12px;
	padding: 2px 5px;
	border-radius: 5px;
	line-height: 1;
}

.form input[type=submit]{
	width: 100%;
	max-width: 300px;
	padding: 10px;
	margin-inline: auto;
	border: var(--blue1) solid 1px;
}

.form input[type=submit]:hover{
	background: var(--blue1);
	color: var(--white);
}

.form__submit{
	margin-top: 30px;
	text-align: center;
}

.wpcf7-spinner{
	display: none !important;
}


/* ------------ news ------------ */

.news{
	padding: 100px 0;
	background: var(--gray);
}

.news__content{
	margin-top: 30px;
}

.news__content-item{
	text-align: center;
}