@charset "utf-8";

/*		Contents
---------------------------------------------------------------------------

	TOP								[ / ]
	お知らせ						[ /news/ ]
	コラム							[ /column/ ]
	事業内容						[ /business/ ]
	固定資産評価支援事業			[ /business/fixed-asset-valuation/ ]
	不動産鑑定評価事業				[ /business/real-estate-appraisal/ ]
	補償コンサルタント事業			[ /business/compensation-consultant/ ]
	不動産コンサルタント事業		[ /business/real-estate-consultant/ ]
	お客様の声						[ /business/review/ ]
	会社案内						[ /company/ ]
	社長挨拶・企業理念				[ /company/message/ ]
	資格者一覧						[ /company/license/ ]
	会社概要						[ /company/profile/ ]
	SDGsへの取り組み				[ /company/sdgs/ ]
	採用情報						[ /recruit/ ]
	募集要項						[ /recruit/guideline/ ]
	社員インタビュー				[ /recruit/interview/ ]
	ISO認証取得						[ /iso/ ]
	SKTown							[ /sktown/ ]
	お問い合わせ					[ /contact/ ]
	個人情報保護方針				[ /privacy/ ]
	サイトマップ					[ /sitemap/ ]

------------------------------------------------------------------------ */

/* ========================================================================
	TOP								[ / ]
======================================================================== */
#top{
	padding:200px 0 0 0;
}

@media screen and (max-width:767px){
#top{
	padding:120px 0 0 0;
}
}


/* ----------------------------------------
	h_ja-en（見出し・日本語 - 英語）
---------------------------------------- */
#top .h_ja-en{
	margin:0 0 100px 0;
	text-align:center;
	line-height:1;
}

#top .h_ja-en .ja{
	display:flex;
	justify-content:center;
	align-items:center;
	font-size:5.2rem;
	color:#19385f;
}

#top .h_ja-en .ja::before,
#top .h_ja-en .ja::after{
	content:"";
	width:55px;
	height:1px;
	margin:0 30px 0 0;
	background:#1a304d;
}
#top .h_ja-en .ja::after{ margin:0 0 0 30px; }

#top .h_ja-en .en{
	display:block;
	margin:20px 0 0 0;
	font-size:2.4rem;
	color:#333333;
}

@media screen and (max-width:767px){
#top .h_ja-en{
	margin:0 0 40px 0;
}

#top .h_ja-en .ja{
	font-size:3.0rem;
	white-space:nowrap;
}

#top .h_ja-en .ja::before,
#top .h_ja-en .ja::after{
	width:24px;
	margin:0 20px 0 0;
}
#top .h_ja-en .ja::after{ margin:0 0 0 20px; }

#top .h_ja-en .en{
	font-size:2.0rem;
}
}


/* ----------------------------------------
	h_en-ja（見出し・英語 - 日本語）
---------------------------------------- */
#top .h_en-ja{
	line-height:1;
}

#top .h_en-ja .en{
	display:flex;
	align-items:center;
	margin:0 0 26px 0;
	font-size:4.8rem;
}

#top .h_en-ja .en::after{
	content:"";
	width:100%;
	height:1px;
	margin:20px 0 0 56px;
	background:#ffffff;
}

#top .h_en-ja .ja{
	display:block;
	font-size:2.0rem;
}

@media screen and (max-width:767px){
#top .h_en-ja .en{
	margin:0 0 20px 0;
	font-size:4.0rem;
}

#top .h_en-ja .en::after{
	margin:20px 0 0 20px;
}

#top .h_en-ja .ja{
	font-size:1.8rem;
}
}


/* ----------------------------------------
	hero
---------------------------------------- */
#top .hero{
	overflow:hidden;
	max-width:1920px;
	margin:0 auto;
}

#top .hero .flex{
	gap:0 80px;
	align-items:center;
	padding:0 40px 40px;
}

@media screen and (max-width:767px){
#top .hero{
	max-width:none;
}

#top .hero .flex{
	flex-direction:column;
	gap:40px 0;
	padding:0 20px 40px;
}
}


/* h2
---------------------------------------- */
@keyframes bg{
	0%  { left:0; width:0; }
	49% { left:0; width:100%; }
	50% { left:0; width:100%; }
	100%{ left:100%; width:0; }
}

#top .hero h2{
	position:relative;
	margin:30px 0 0 0;
}

#top .hero h2::after{
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:0;
	height:100%;
	background:#c9bc9c;
}

#top .hero h2.active::after{
	animation-name:bg;
	animation-duration:1.2s;
	animation-iteration-count:1;
	animation-fill-mode:both;
}

#top .hero h2 img{
	width:clamp(852px, 66.73333vw, 1001px);
}

@media screen and (max-width:767px){
#top .hero h2{
	margin:20px 0 0 0;
	line-height:0;
}

#top .hero h2 img{
	width:100%;
}
}


/* txt
---------------------------------------- */
@keyframes txt{
	0%  { opacity:0; transform:translateY(100%); }
	100%{ opacity:1; transform:translateY(0); }
}

#top .hero .txt{
	display:flex;
	overflow:hidden;
	font-size:clamp(8.9rem, 7.0vw, 10.5rem);
	font-weight:700;
	color:#1a385f;
	line-height:1.2;
}

#top .hero .txt span{
	clip-path:inset(0 0 0 100%);
}

#top .hero .txt span.char{
	clip-path:inset(0 -20% 0 0); /* 英字全表示のため「-20%」を指定 */
	animation-name:txt;
	animation-duration:0.6s;
	animation-iteration-count:1;
	animation-fill-mode:both;
	animation-timing-function:cubic-bezier(0.19, 1, 0.22, 1);
}

@media screen and (max-width:767px){
#top .hero .txt{
	font-size:clamp(3.0rem, 8.85416vw, 6.8rem);
}
}


/* logo
---------------------------------------- */
#top .hero .logo{
	flex:1;
	text-align:center;
}

@media screen and (max-width:767px){
#top .hero .logo img{
	width:120px;
}
}


/* ----------------------------------------
	about
---------------------------------------- */
#top .about{
	position:relative;
	padding:270px 0 100px 0;
	background:url(../../img/top/bg_about01.png) no-repeat center top;
	background-size:cover;
}

#top .about::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:url(../../img/top/bg_about02.png) repeat center;
	mix-blend-mode:overlay;
}

#top .about .txt{
	position:relative;
	padding:165px 20px 0;
	text-align:center;
}

#top .about .flex{
	position:relative;
	max-width:1920px;
	margin:0 auto;
}

#top .about .flex > div{
	width:50%;
}

@media screen and (max-width:767px){
#top .about{
	padding:60px 20px;
}

#top .about::before{
	background-size:229px 1px;
}

#top .about .txt{
	padding:85px 0 0 0;
}

#top .about .flex{
	display:block;
	max-width:none;
}

#top .about .flex > div{
	width:auto;
}
}


/* block
---------------------------------------- */
#top .about .block{
	order:2;
	padding:40px 8.3333% 0 6.25%;
}

#top .about .block h2{
	margin:0 0 60px 0;
	padding:54px 0 0 7.3529%;
	background:url(../../img/common/illust_corner.png) no-repeat left top;
	line-height:1;
}

#top .about .block h2 .en{
	display:flex;
	align-items:center;
	margin:0 0 20px 0;
	font-size:9.0rem;
	color:#1c375f;
}

#top .about .block h2 .en::after{
	content:"";
	flex:1;
	width:100%;
	height:1px;
	margin:0 0 0 7.9365%;
	background:#1d415f;
}

#top .about .block h2 .ja{
	display:block;
	font-size:2.2rem;
}

#top .about .block p{
	padding:0 8.8235% 0 7.9411%;
	font-weight:400;
}

@media screen and (max-width:767px){
#top .about .block{
	padding:0 0 40px 0;
}

#top .about .block h2{
	margin:0 0 40px 0;
	padding:54px 20px 0;
	background-size:44px;
}

#top .about .block h2 .en{
	font-size:4.0rem;
}

#top .about .block h2 .en::after{
	margin:0 0 0 20px;
}

#top .about .block h2 .ja{
	font-size:1.8rem;
}

#top .about .block p{
	padding:0 20px;
}
}


/* splide
---------------------------------------- */
#top .about .splide{
	order:1;
	position:relative;
	padding:0 0 0 3.125%;
}

#top .about .splide::before,
#top .about .splide::after{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:200%;
	height:1px;
	background:#eef2f5;
	mix-blend-mode:overlay;
}
#top .about .splide::after{
	top:auto;
	bottom:0;
}

#top .about .splide__track{
	overflow:visible;
	z-index:1;
}

#top .about .splide__track::before{
	content:"";
	position:absolute;
	top:0;
	left:-3.8888%;
	width:100%;
	height:100%;
	background:#1a304d;
	transform:rotate(-4.5deg);
}

#top .about .splide__pagination{
	padding:0 0 0 6.25%;
}

@media screen and (max-width:767px){
#top .about .splide,
#top .about .splide__pagination{
	padding:0 20px;
}

#top .about .splide::before,
#top .about .splide::after{
	left:-20px;
	width:calc(100% + 40px);
}
}


/* ----------------------------------------
	anniversary
---------------------------------------- */
#top .anniversary{
	border-top:1px solid #eef2f5;
}

#top .anniversary .inner{
	display:flex;
	align-items:center;
	padding:160px 80px;
}

#top .anniversary .inner > img{
	width:420px;
}

#top .anniversary .block{
	margin:0 0 0 100px;
}

#top .anniversary h2{
	margin:0 0 20px 0;
	font-size:2.6rem;
	font-weight:700;
	color:#1b304d;
	line-height:4.6rem;
}

#top .anniversary h2 span{
	display:block;
	margin:0 0 10px 0;
	color:#cbb778;
}

@media screen and (max-width:767px){
#top .anniversary .inner{
	display:block;
	padding:60px 20px;
}

#top .anniversary .inner > img{
	display:block;
	width:268px;
	margin:0 auto;
}

#top .anniversary .block{
	margin:0;
}

#top .anniversary h2{
	font-size:2.0rem;
	line-height:3.0rem;
}
}


/* ----------------------------------------
	report
---------------------------------------- */
#top .report{
	padding:140px 0;
	background:#eff1f3;
}

@media screen and (max-width:767px){
#top .report{
	padding:60px 0;
}

#top .report .inner{
	padding:0;
}
}


/* splide
---------------------------------------- */
#top .report .splide:not(.is-overflow) .splide__list{
	justify-content:center;
}

#top .report .splide:not(.is-overflow) .splide__slide:last-child{
	margin:0 !important;
}

#top .report .splide__arrow{
	position:absolute;
	top:50%;
	right:-74px;
	width:54px;
	height:54px;
	background:url(../../img/common/arrow_01.png) no-repeat center #1c375f;
	background-size:16px auto;
	border-radius:50%;
	transition-duration:0.2s;
	opacity:1;
}
#top .report .splide__arrow--prev{
	left:-74px;
	transform:translateY(-50%) scaleX(-1);
}
#top .report .splide__arrow:hover:not(:disabled){ opacity:0.8; }
#top .report .splide__arrow svg{ display:none; }

@media print, screen and (min-width:768px) and (max-width:1400px){
#top .report .splide__arrow--next{
	right:-20px;
}
#top .report .splide__arrow--prev{
	left:-20px;
}
}

@media screen and (max-width:767px){
#top .report .splide__slide img{
	width:100%;
}

#top .report .splide__arrow{
	width:34px;
	height:34px;
	background-size:14px auto;
}
#top .report .splide__arrow--next{ right:16px; }
#top .report .splide__arrow--prev{ left:16px; }
}


/* ----------------------------------------
	post
---------------------------------------- */
#top .post{
	padding:200px 0 160px 0;
}
#top .post.column{ padding:0 0 230px 0; }

#top .post .inner{
	display:flex;
	justify-content:space-between;
}

#top .post h2{
	margin:0 0 0 -50px;
	line-height:1;
}

#top .post h2 .en{
	display:block;
	margin:0 0 20px 0;
	font-size:6.4rem;
	color:#1c375f;
}

#top .post h2 .ja{
	display:block;
	font-size:2.2rem;
}

@media print, screen and (min-width:768px) and (max-width:1400px){
#top .post h2{
	margin-left:0;
}
}

@media screen and (max-width:767px){
#top .post{
	padding:60px 0;
}
#top .post.column{ padding:0 0 60px 0; }

#top .post .inner{
	display:block;
}

#top .post h2{
	margin:0 0 40px 0;
}

#top .post h2 .en{
	font-size:4.0rem;
}

#top .post h2 .ja{
	font-size:1.8rem;
}
}


/* btn
---------------------------------------- */
#top .post .btn{
	display:flex;
	justify-content:flex-end;
}

#top .post .btn a{
	display:block;
	position:relative;
	width:198px;
	padding:14px 0 22px 4px;
	border-bottom:2px solid #1a304d;
	font-size:1.8rem;
	color:#1c375f;
	line-height:1;
	text-decoration:none;
}

#top .post .btn a::before{
	content:"";
	position:absolute;
	top:0;
	right:0;
	width:44px;
	height:44px;
	background:url(../../img/common/arrow_02.png) no-repeat center #ffffff;
	background-size:14px auto;
	border:1px solid #1c375f;
	border-radius:50%;
	transition-duration:0.2s;
}

#top .post .btn a:hover::before{
	background-image:url(../../img/common/arrow_01.png);
	background-color:#1c375f;
}


/* widget_list
---------------------------------------- */
#top .post .widget_list{
	width:920px;
	padding:0 0 30px 0;
}

@media screen and (max-width:767px){
#top .post .widget_list{
	width:auto;
}
}


/* ----------------------------------------
	sktown
---------------------------------------- */
#top .sktown{
	padding:94px 0 60px 0;
	background:url(../../img/top/bg_sktown.jpg) no-repeat center;
	background-size:cover;
	text-align:center;
	color:#ffffff;
}

#top .sktown h2{
	margin:0 0 40px 0;
}

#top .sktown p{
	margin:0 0 62px 0;
	font-size:1.8rem;
	font-weight:400;
}

@media screen and (max-width:767px){
#top .sktown{
	padding:60px 0 20px 0;
}

#top .sktown h2 img{
	width:200px;
}

#top .sktown p{
	margin:0 0 40px 0;
	font-size:1.6rem;
}
}


/* widget_btn
---------------------------------------- */
#top .sktown-about .widget_btn a:not(.white){
	background:#e0cda9;
	color:#1c375f;
}


/* ----------------------------------------
	skt-reply
---------------------------------------- */
#top .skt-reply{
	padding:150px 0 160px 0;
}

#top .skt-reply a{
	display:flex;
	flex-direction:column;
	position:relative;
	min-height:420px;
	padding:55px 0 60px 0;
	background:url(../../img/top/bg_skt-reply.jpg) no-repeat center;
	background-size:cover;
	text-align:center;
	color:#ffffff;
	text-decoration:none;
}

#top .skt-reply a::before{
	content:"";
	position:absolute;
	bottom:1px;
	right:1px;
	width:68px;
	height:68px;
	background:#292626;
}

#top .skt-reply a::after{
	content:"";
	position:absolute;
	bottom:21px;
	right:21px;
	width:26px;
	height:26px;
	background:url(../../img/common/icon_blank.svg) no-repeat center;
	filter:invert(100%) sepia(2%) saturate(493%) hue-rotate(153deg) brightness(116%) contrast(100%);
}

#top .skt-reply h2{
	margin:0 0 20px 0;
}

#top .skt-reply p{
	font-size:2.0rem;
	font-weight:700;
}

#top .skt-reply p.produced{
	margin:0 0 25px 0;
	font-size:1.8rem;
	font-weight:400;
	line-height:1;
	letter-spacing:0.05em;
}

@media screen and (max-width:767px){
#top .skt-reply{
	padding:60px 0;
}

#top .skt-reply a{
	min-height:auto;
	padding:60px 20px;
}

#top .skt-reply a::before{
	width:50px;
	height:50px;
}

#top .skt-reply a::after{
	bottom:16px;
	right:16px;
	width:18px;
	height:18px;
}

#top .skt-reply h2 img{
	width:348px;
}

#top .skt-reply p,
#top .skt-reply p.produced{
	font-size:1.6rem;
}
}


/* ----------------------------------------
	business
---------------------------------------- */
#top .business{
	padding:160px 0 130px 0;
	background:#eff1f3;
}

@media screen and (max-width:767px){
#top .business{
	padding:60px 0 20px 0;
}
}


/* ----------------------------------------
	navi
---------------------------------------- */
#top .navi{
	display:flex;
}

#top .navi > div{
	width:50%;
}

#top .navi a{
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	position:relative;
	min-height:632px;
	padding:0 min(100px, 10.4166%) 90px;
	background:url(../../img/top/bg_company.jpg) no-repeat center;
	background-size:cover;
	color:#ffffff;
	text-decoration:none;
}
#top .navi .recruit a{ background-image:url(../../img/top/bg_recruit.jpg); }

#top .navi .recruit a::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:1px;
	height:100%;
	background:#ffffff;
}

#top .navi h2{
	margin:0 0 46px 0;
}

#top .navi p{
	font-size:1.7rem;
	font-weight:400;
}

@media screen and (max-width:767px){
#top .navi{
	display:block;
}

#top .navi > div{
	width:auto;
}

#top .navi a{
	min-height:auto;
	padding:200px 20px 40px;
}

#top .navi .recruit a::before{
	width:100%;
	height:1px;
}

#top .navi h2{
	margin:0 0 30px 0;
}

#top .navi p{
	font-size:1.6rem;
	line-height:3.0rem;
}
}


/* ========================================================================
	お知らせ						[ /news/ ]
	コラム							[ /column/ ]
======================================================================== */
#news,
#column{
	padding-bottom:100px;
}

@media screen and (max-width:767px){
#news,
#column{
	padding-bottom:20px;
}
}


/* ========================================================================
	事業内容						[ /business/ ]
	固定資産評価支援事業			[ /business/fixed-asset-valuation/ ]
	不動産鑑定評価事業				[ /business/real-estate-appraisal/ ]
	補償コンサルタント事業			[ /business/compensation-consultant/ ]
	不動産コンサルタント事業		[ /business/real-estate-consultant/ ]
======================================================================== */
#business .inner > p{
	margin:0 0 100px 0;
}

@media screen and (max-width:767px){
#business .inner > p{
	margin:0 0 40px 0;
}
}


/* ----------------------------------------
	reason
---------------------------------------- */
#business .reason{
	margin:0 0 100px 0;
}

#business .reason ul{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:60px 54px;
}

#business .reason ul li{
	width:364px;
	position:relative;
}

#business .reason ul li img{
	margin:0 0 25px 0;
}

#business .reason ul li h3{
	margin:0 0 10px 0;
	font-size:2.4rem;
	font-weight:700;
	color:#1c375f;
	line-height:3.4rem;
	letter-spacing:0.05em;
}

#business .reason ul li h3 span{
	position:absolute;
	top:-40px;
	left:-24px;
	font-style:italic;
	font-size:7.2rem;
	line-height:1;
	letter-spacing:normal;
	text-shadow:rgb(255, 255, 255) 2px 0px 0px, rgb(255, 255, 255) 1.75517px 0.958851px 0px, rgb(255, 255, 255) 1.0806px 1.68294px 0px, rgb(255, 255, 255) 0.141474px 1.99499px 0px, rgb(255, 255, 255) -0.832294px 1.81859px 0px, rgb(255, 255, 255) -1.60229px 1.19694px 0px, rgb(255, 255, 255) -1.97999px 0.28224px 0px, rgb(255, 255, 255) -1.87291px -0.701566px 0px, rgb(255, 255, 255) -1.30729px -1.51361px 0px, rgb(255, 255, 255) -0.421592px -1.95506px 0px, rgb(255, 255, 255) 0.567324px -1.91785px 0px, rgb(255, 255, 255) 1.41734px -1.41108px 0px, rgb(255, 255, 255) 1.92034px -0.558831px 0px;
}

@media screen and (max-width:767px){
#business .reason{
	margin:0;
}

#business .reason ul{
	display:block;
}

#business .reason ul li{
	width:auto;
	margin:0 0 40px 0;
}

#business .reason ul li img{
	width:100%;
	margin:0 0 20px 0;
}

#business .reason ul li h3{
	font-size:2.0rem;
	line-height:3.0rem;
}

#business .reason ul li h3 span{
	top:-28px;
	left:-16px;
	font-size:5.0rem;
}
}


/* ----------------------------------------
	service
---------------------------------------- */
#business .service{
	padding:0;
}

#business .service .inner > section{
	padding:0 0 100px 0;
}

#business .service p{
	margin:0 0 100px 0;
}

@media screen and (max-width:767px){
#business .service .inner > section{
	padding:0 0 20px 0;
}

#business .service p{
	margin:0 0 40px 0;
}
}


/* h_01
---------------------------------------- */
#business .service .h_01 .ja span{
	display:inline-block;
	width:38px;
	height:38px;
	margin:12px 20px 0 0;
	border:1px solid #1c375f;
	border-radius:50%;
	text-align:center;
	vertical-align:top;
	font-size:3.2rem;
	line-height:1;
}

@media screen and (max-width:767px){
#business .service .h_01 .ja span{
	width:32px;
	height:32px;
	margin:2px 10px 0 0;
	font-size:2.4rem;
	line-height:3.0rem;
}
}


/* navi
---------------------------------------- */
#business .service .navi{
	display:flex;
	flex-wrap:wrap;
	gap:25px 50px;
	margin:0 0 200px 0;
	padding:50px 125px;
	background:#ececec;
}

#business .service .navi a{
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;
	width:450px;
	height:80px;
	background:#ffffff;
	border:1px solid #1c375f;
	border-radius:40px;
	font-size:2.4rem;
	font-weight:600;
	color:#1c375f;
	letter-spacing:0.05em;
	text-decoration:none;
}

#business .service .navi span{
	display:flex;
	justify-content:center;
	align-items:center;
	position:absolute;
	top:16px;
	left:20px;
	width:46px;
	height:46px;
	background:#19385f;
	border-radius:50%;
	font-size:2.2rem;
	font-weight:700;
	color:#ffffff;
}

#business .service .navi a:hover,
#business .service .navi a:hover span{
	background:#1c375f;
	color:#ffffff;
}

@media screen and (max-width:767px){
#business .service .navi{
	display:block;
	margin:0 0 60px 0;
	padding:40px 20px 20px;
}

#business .service .navi a{
	width:auto;
	height:60px;
	margin:0 0 20px 0;
	font-size:2.0rem;
}

#business .service .navi span{
	top:10px;
	left:10px;
	width:38px;
	height:38px;
	font-size:1.8rem;
}
}


/* key
---------------------------------------- */
#business .service .key{
	margin:0 0 100px 0;
	text-align:center;
}

@media screen and (max-width:767px){
#business .service .key{
	margin:0 0 40px 0;
}
}


/* list
---------------------------------------- */
#business .service .list{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:32px 54px;
	padding:0 0 82px 0;
}

#business .service .list dl dt{
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;
	width:364px;
	height:170px;
	margin:0 0 22px 0;
	padding:0 20px;
	background:#19385f;
	text-align:center;
	font-size:2.4rem;
	color:#ffffff;
	line-height:3.0rem;
}

#business .service .list dl dt img{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	object-fit:cover;
}

#business .service .list dl dt span{
	position:relative;
}

#business .service .list dl dd{
	margin:0 0 18px 0;
	line-height:3.0rem;
}

#business .service .list ul{
	margin:18px 0;
}

#business .service .list ul li{
	padding:0 0 0 1.0em;
	text-indent:-1.0em;
	line-height:3.0rem;
}

@media screen and (max-width:767px){
#business .service .list{
	display:block;
	padding:0 0 0 0;
}

#business .service .list > li{
	padding:0 0 22px 0;
}

#business .service .list dl dt{
	width:auto;
	margin:0 0 20px 0;
	font-size:2.0rem;
}

#business .service .list dl dd{
	margin:0 0 18px 0;
}
}


/* ----------------------------------------
	request
---------------------------------------- */
#business .request .box{
	position:relative;
	margin:0 0 50px 0;
	padding:124px 140px 38px;
	background:#ececec;
}
#business .request .box:last-child{ margin-bottom:100px; }

#business .request .box h3{
	display:flex;
	align-items:center;
	position:absolute;
	top:0;
	left:0;
	min-width:342px;
	height:74px;
	padding:0 22px 0 64px;
	background:#19385f;
	font-size:2.4rem;
	font-weight:700;
	color:#ffffff;
}

#business .request .box h3::before{
	content:"";
	position:absolute;
	top:50%;
	left:22px;
	width:22px;
	height:2px;
	background:#c9bc9c;
}

#business .request .box ul li{
	margin:0 0 22px 0;
	padding:0 0 0 36px;
	background:url(../../img/business/icon_check.png) no-repeat left 3px;
	font-size:1.8rem;
	font-weight:700;
	line-height:2.8rem;
}

@media screen and (max-width:767px){
#business .request .box{
	margin:0 0 40px 0;
	padding:0 0 10px 0;
}
#business .request .box:last-child{ margin-bottom:40px; }

#business .request .box h3{
	position:relative;
	min-width:auto;
	height:60px;
	margin:0 0 30px 0;
	padding:0 20px 0 60px;
	font-size:2.0rem;
}

#business .request .box h3::before{
	left:20px;
	width:20px;
}

#business .request .box ul li{
	margin:0 20px 20px;
	padding:0 0 0 30px;
	background:url(../../img/business/icon_check.png) no-repeat left 2px;
	font-size:1.6rem;
	line-height:2.6rem;
}
}


/* ----------------------------------------
	step
---------------------------------------- */
#business .step ol{
	margin:0 0 100px 0;
}

#business .step ol li{
	position:relative;
	min-height:254px;
	margin:0 0 36px 0;
	padding:50px 60px 50px 208px;
	background:#eff1f3;
}
#business .step ol li:last-child{
	overflow:hidden;
	margin:0;
}

#business .step ol li::before{
	content:"";
	position:absolute;
	bottom:-30px;
	left:50%;
	border-style:solid;
	border-width:24px 26px 0 26px;
	border-color:#1c375f transparent transparent transparent;
	transform:translateX(-50%);
}

#business .step ol li h3{
	margin:0 0 22px 0;
	font-size:2.4rem;
	font-weight:700;
	color:#19385f;
	line-height:3.4rem;
}

#business .step ol li p{
	line-height:3.0rem;
}

@media screen and (max-width:767px){
#business .step ol{
	margin:0 0 40px 0;
}

#business .step ol li{
	min-height:auto;
	margin:0 0 36px 0;
	padding:0 20px 30px;
}

#business .step ol li h3{
	margin:0 0 20px 0;
	padding:20px 0 10px 60px;
	font-size:2.0rem;
	line-height:3.0rem;
}
}


/* num
---------------------------------------- */
#business .step ol li .num{
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	position:absolute;
	top:0;
	left:0;
	width:146px;
	height:120px;
	padding:5px 0 0 0;
	background:#1c375f;
	font-size:1.8rem;
	font-weight:700;
	color:#ffffff;
	line-height:1;
	letter-spacing:0.1em;
}

#business .step ol li .num::before{
	content:"";
	position:absolute;
	top:1px;
	left:50%;
	width:3px;
	height:16px;
	background:#c9bc9c;
	transform:translateX(-50%);
}

#business .step ol li .num span{
	padding:2px 0 0 0;
	font-size:4.8rem;
	font-weight:600;
	letter-spacing:normal;
}

@media screen and (max-width:767px){
#business .step ol li .num{
	width:60px;
	height:60px;
	padding:10px 0 0 0;
	font-size:1.0rem;
}

#business .step ol li .num::before{
	height:10px;
}

#business .step ol li .num span{
	font-size:2.4rem;
}
}


/* ========================================================================
	お客様の声						[ /business/review/ ]
======================================================================== */
#review > .inner dl{
	margin:0 0 200px 0;
	text-align:center;
}

#review > .inner dl dt{
	margin:0 0 100px 0;
	font-size:10.0rem;
	color:#acbccc;
	line-height:1;
	letter-spacing:0.05em;
}

#review > .inner dl dd{
	font-size:2.0rem;
}

@media screen and (max-width:767px){
#review > .inner dl{
	margin:0 0 60px 0;
}

#review > .inner dl dt{
	margin:0 0 40px 0;
	font-size:min(10.0vw, 5.0rem);
}

#review > .inner dl dd{
	font-size:1.8rem;
}
}


/* ----------------------------------------
	result
---------------------------------------- */
#review .result{
	padding-bottom:0;
}

#review .result figure{
	margin:0 0 200px 0;
	text-align:center;
}

@media screen and (max-width:767px){
#review .result figure{
	margin:0 0 60px 0;
}
}


/* h_01
---------------------------------------- */
#review .result .h_01 .ja{
	font-size:3.4rem;
	font-family:"Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	font-weight:500;
	line-height:5.4rem;
}

#review .result .h_01 .ja::before,
#review .result .h_01 .ja::after{
	top:25px;
}

@media screen and (max-width:767px){
#review .result .h_01 .ja{
	font-size:2.0rem;
	line-height:3.0rem;
}

#review .result .h_01 .ja::before,
#review .result .h_01 .ja::after{
	top:13px;
}
}


/* ----------------------------------------
	voice
---------------------------------------- */
#review .voice ul{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:40px;
	margin:0 0 100px 0;
	padding:80px 60px;
	background:#eff1f3;
}

#review .voice ul li{
	position:relative;
	margin:0 0 0 150px;
	padding:30px 30px 56px;
	background:#ffffff;
	border:1px solid #b2c3d4;
	border-radius:20px;
}

#review .voice ul li::before,
#review .voice ul li::after{
	content:"";
	position:absolute;
	top:42px;
	left:-28px;
	border-style:solid;
	border-width:22.5px 28px 22.5px 0;
	border-color:transparent #b2c3d4 transparent transparent;
}
#review .voice ul li::after{
	top:43px;
	left:-27px;
	border-width:21.5px 27px 21.5px 0;
	border-right-color:#ffffff;
}

#review .voice ul li > img{
	position:absolute;
	top:20px;
	left:-150px;
}

#review .voice ul li > span{
	position:absolute;
	bottom:30px;
	right:40px;
	font-weight:700;
	line-height:1;
}

@media screen and (max-width:767px){
#review .voice ul{
	display:block;
	margin:0 0 40px 0;
	padding:60px 20px 40px;
}

#review .voice ul li{
	margin:0 0 60px 0;
	padding:28px 20px 56px;
}
#review .voice ul li:last-child{ margin:0 }

#review .voice ul li::before,
#review .voice ul li::after{
	content:none;
}

#review .voice ul li > img{
	top:-50px;
	left:20px;
	width:60px;
}

#review .voice ul li > span{
	right:20px;
}
}


/* ========================================================================
	会社案内						[ /company/ ]
======================================================================== */
#company ul li{
	background:url(../../img/company/bg_message.jpg) no-repeat center;
	background-size:cover;
}
#company ul li.message{ background-position:center top; }
#company ul li.license{ background-image:url(../../img/company/bg_license.jpg); }
#company ul li.overview{ background-image:url(../../img/company/bg_overview.jpg); }
#company ul li.sdgs{ background-image:url(../../img/company/bg_sdgs.jpg); }

#company ul li .inner{
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	min-height:640px;
	color:#ffffff;
}

#company ul li h2{
	margin:0 0 50px 0;
	line-height:1;
}

#company ul li h2 .en{
	display:block;
	margin:0 0 20px 0;
	font-size:2.4rem;
	letter-spacing:0.05em;
}

#company ul li h2 .ja{
	display:block;
	font-size:4.0rem;
}

#company ul li p{
	margin:0 0 50px 0;
	font-weight:400;
}

@media screen and (max-width:767px){
#company ul li .inner{
	min-height:auto;
}

#company ul li h2{
	margin:0 0 30px 0;
	padding:40px 0 0 0;
}

#company ul li h2 .en{
	margin:0 0 15px 0;
	font-size:2.0rem;
}

#company ul li h2 .ja{
	font-size:3.0rem;
}

#company ul li p{
	margin:0 0 30px 0;
}
}


/* ----------------------------------------
	widget_btn
---------------------------------------- */
#company .widget_btn{
	justify-content:flex-start;
}

#company .widget_btn a{
	background:none;
	border:1px solid #ffffff;
	color:#ffffff;
}
#company .widget_btn a::before{
	background-image:url(../../img/common/arrow_01.png);
}

#company .widget_btn a:hover{
	background:#ffffff;
	color:#1c375f;
}
#company .widget_btn a:hover::before{
	background-image:url(../../img/common/arrow_02.png);
}


/* ========================================================================
	社長挨拶・企業理念				[ /company/message/ ]
======================================================================== */

/* ----------------------------------------
	message
---------------------------------------- */
#message .message figure{
	margin:0 0 100px 0;
}

#message .message p{
	margin:0 0 48px 0;
	line-height:4.0rem;
	letter-spacing:0.05em;
}

#message .message .name{
	margin:0 10px 100px 0;
	text-align:right;
}

@media screen and (max-width:767px){
#message .message figure{
	margin:0 0 40px 0;
}

#message .message p{
	margin:0 0 40px 0;
	line-height:3.6rem;
}

#message .message .name{
	margin:0 0 40px 0;
	line-height:1;
}

#message .message .name img{
	width:200px;
}
}


/* ----------------------------------------
	philosophy
---------------------------------------- */
#message .philosophy{
	padding-top:200px;
	background:#eff1f3;
}

#message .philosophy ul{
	padding:0 0 66px 0;
}

#message .philosophy ul li{
	display:flex;
	flex-direction:column;
	justify-content:center;
	min-height:260px;
	margin:0 0 34px 0;
	padding:0 140px;
	background:url(../../img/common/illust_corner.png) no-repeat 8px 8px #ffffff;
	background-size:44px;
	border:1px solid #1c375f;
}

#message .philosophy ul li h3{
	margin:0 0 30px 0;
	line-height:1;
}

#message .philosophy ul li h3 .ja{
	display:block;
	margin:0 0 14px 0;
	font-size:3.2rem;
	letter-spacing:0.05em;
}

#message .philosophy ul li h3 .en{
	display:block;
	font-size:2.4rem;
	color:#acbccc;
}

@media screen and (max-width:767px){
#message .philosophy{
	padding-top:60px;
}

#message .philosophy ul{
	padding:0 0 10px 0;
}

#message .philosophy ul li{
	min-height:auto;
	margin:0 0 30px 0;
	padding:60px 20px 40px;
}

#message .philosophy ul li h3 .ja{
	margin:0 0 10px 0;
	font-size:2.4rem;
	line-height:3.4rem;
}

#message .philosophy ul li h3 .en{
	font-size:1.8rem;
}
}


/* ========================================================================
	資格者一覧						[ /company/license/ ]
======================================================================== */
#license{
	padding-bottom:100px;
}

@media screen and (max-width:767px){
#license{
	padding-bottom:20px;
}
}


/* ----------------------------------------
	cat
---------------------------------------- */
#license .cat{
	margin:0 0 200px 0;
	padding:100px;
	background:url(../../img/common/illust_corner.png) no-repeat 8px 8px #ffffff;
	background-size:44px;
	border:1px solid #1c375f;
}

#license .cat dt{
	margin:0 0 60px 0;
	font-size:3.2rem;
	line-height:1;
}

@media screen and (max-width:767px){
#license .cat{
	margin:0 0 60px 0;
	padding:40px 20px;
}

#license .cat dt{
	margin:0 0 40px 0;
	text-align:center;
	font-size:2.4rem;
	line-height:1;
}
}


/* widget_tab
---------------------------------------- */
#license .cat .widget_tab{
	grid-template-columns:repeat(3,1fr);
	margin:0;
}

#license .cat .widget_tab li{
	width:auto;
}

@media screen and (max-width:767px){
#license .cat .widget_tab{
	grid-template-columns:repeat(2,1fr);
	gap:20px;
}
}


/* ----------------------------------------
	widget_panel
---------------------------------------- */
#license .widget_panel .list{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:60px 26px;
	margin:0 0 100px 0;
}

#license .widget_panel .list > li > img{
	width:280px;
	height:420px;
	object-fit:cover;
}

#license .widget_panel .list ul{
	margin:15px 0 0 0;
}

#license .widget_panel .list ul li{
	font-size:1.4rem;
	line-height:2.4rem;
}

@media screen and (max-width:767px){
#license .widget_panel .list{
	grid-template-columns:repeat(2,1fr);
	gap:40px 20px;
	margin:0 0 40px 0;
}

#license .widget_panel .list > li > img{
	width:100%;
	height:60.0vw;
}
}


/* name
---------------------------------------- */
#license .widget_panel .list .name{
	padding:20px 0 0 0;
	font-size:2.0rem;
	font-weight:500;
	line-height:1;
}

#license .widget_panel .list .name span{
	display:block;
	margin:0 0 10px 0;
	font-size:1.6rem;
}

@media screen and (max-width:767px){
#license .widget_panel .list .name{
}
}


/* ========================================================================
	会社概要						[ /company/profile/ ]
======================================================================== */

/* ----------------------------------------
	profile
---------------------------------------- */
#profile .profile table ul li{
	overflow:hidden;
}

#profile .profile table ul li span{
	float:left;
	width:11.0em;
	margin:0 1.0em 0 0;
}

@media screen and (max-width:767px){
#profile .profile table ul li span{
	float:none;
	width:auto;
}
}


/* num
---------------------------------------- */
#profile .profile table .num span{
	width:18.0em;
}

@media screen and (max-width:767px){
#profile .profile table .num span{
	width:auto;
}
}


/* ----------------------------------------
	office
---------------------------------------- */
#profile .office .splide{
	width:900px;
	margin:0 auto 185px;
}

@media screen and (max-width:767px){
#profile .office .splide{
	width:auto;
	margin:0 0 105px 0;
}
}


/* list
---------------------------------------- */
#profile .office .list{
	display:flex;
	flex-wrap:wrap;
	margin:0 0 68px 0;
}

#profile .office .list::before{
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:1px;
	background:#ffffff;
	z-index:1;
}

#profile .office .list li{
	position:relative;
	width:50%;
	padding:60px 0 60px 70px;
	background:url(../../img/common/illust_corner.png) no-repeat 10px 32px #ffffff;
	background-size:44px;
	border-bottom:1px solid #00375e;
}
#profile .office .list li:nth-child(even){
	padding-left:60px;
	background-position:left 32px;
}

#profile .office .list li:nth-child(even)::before{
	content:"";
	position:absolute;
	top:32px;
	right:0;
	width:1px;
	height:calc(100% - 64px);
	background:#00375e;
}

#profile .office .list h3{
	margin:0 0 40px 0;
	line-height:1;
}

#profile .office .list h3 .en{
	display:block;
	margin:0 0 12px 0;
	font-size:4.0rem;
	color:#00375e;
}

#profile .office .list h3 .ja{
	display:block;
	font-size:1.8rem;
	font-weight:500;
}

#profile .office .list p{
	line-height:3.0rem;
}

@media screen and (max-width:767px){
#profile .office .list{
	display:block;
	margin:0;
}
#profile .office .list::before{ content:none; }

#profile .office .list li,
#profile .office .list li:nth-child(even){
	width:auto;
	padding:60px 20px 40px;
	background-position:left 10px;
}
#profile .office .list li:nth-child(even)::before{ content:none; }

#profile .office .list li:last-child{
	border:none;
}

#profile .office .list h3,
#profile .office .list p{
	margin:0 0 30px 0;
}

#profile .office .list h3 .en{
	margin:0 0 10px 0;
	font-size:3.0rem;
}
}


/* ---------- btn ---------- */
#profile .office .list .btn{
	position:absolute;
	top:60px;
	right:0;
}
#profile .office .list li:nth-child(even) .btn{ right:36px; }

#profile .office .list .btn a{
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;
	width:158px;
	height:40px;
	padding:0 10px 0 0;
	background:#1c375f;
	border-radius:20px;
	font-size:1.4rem;
	color:#ffffff;
	letter-spacing:-0.075em;
	text-decoration:none;
}

#profile .office .list .btn a::before{
	content:"";
	position:absolute;
	top:0;
	right:16px;
	width:10px;
	height:100%;
	background:url(../../img/company/profile/arrow.png) no-repeat center;
}

@media screen and (max-width:767px){
#profile .office .list .btn{
	position:static;
}
}


/* ---------- head ---------- */
#profile .office .list .head{
	display:flex;
	width:100%;
	padding:0;
	background-position:left top;
}

#profile .office .list .head > *{
	position:relative;
	width:50%;
	padding:60px 0 60px 60px;
}

#profile .office .list .head .map{
	padding:30px 0 60px 100px;
}

@media screen and (max-width:767px){
#profile .office .list .head{
	display:block;
	padding:50px 20px 40px;
	background-position:left top;
}

#profile .office .list .head > *{
	width:auto;
	padding:0;
}

#profile .office .list .head .map{
	padding:30px 0 0 0;
}

#profile .office .list .head .map iframe{
	aspect-ratio:500/300;
	width:100%;
	height:100%;
}
}


/* ----------------------------------------
	history
---------------------------------------- */
#profile .history ol{
	margin:0 0 100px 0;
	padding:100px;
	background:#eff1f3;
}

#profile .history ol li{
	display:flex;
	position:relative;
	padding:0 0 24px 83px;
	letter-spacing:0.05em;
}
#profile .history ol li:last-child{
	padding-bottom:100px;
	background:url(../../img/company/profile/line.png) no-repeat 6px 23px;
}

#profile .history ol li::before,
#profile .history ol li::after{
	content:"";
	position:absolute;
	top:12px;
	left:6px;
	width:1px;
	height:100%;
	background:#1a304d;
}
#profile .history ol li::before{
	left:0;
	width:13px;
	height:13px;
	border-radius:50%;
}
#profile .history ol li:last-child::after{ content:none; }

#profile .history ol li span{
	flex:none;
	width:260px;
	font-weight:700;
	color:#1c375f;
}

@media screen and (max-width:767px){
#profile .history ol{
	margin:0 0 40px 0;
	padding:40px 20px 30px;
}

#profile .history ol li{
	display:block;
	padding:0 0 20px 33px;
}
#profile .history ol li:last-child{
	padding-bottom:10px;
	background:url(../../img/company/profile/line.png) no-repeat 6px bottom;
}

#profile .history ol li span{
	display:block;
	width:auto;
}
}


/* ========================================================================
	SDGsへの取り組み				[ /company/sdgs/ ]
======================================================================== */
#sdgs{
	padding-bottom:100px;
}

@media screen and (max-width:767px){
#sdgs{
	padding-bottom:20px;
}
}


/* ----------------------------------------
	what
---------------------------------------- */
#sdgs .what{
	display:flex;
	align-items:center;
	padding:0 100px 200px;
}

#sdgs .what p{
	flex:1;
	padding:0 0 0 100px;
}

@media screen and (max-width:767px){
#sdgs .what{
	display:block;
	padding:0 0 60px 0;
}

#sdgs .what .logo{
	margin:0 0 40px 0;
	text-align:center;
}

#sdgs .what p{
	padding:0;
}
}


/* ----------------------------------------
	box
---------------------------------------- */
#sdgs .box{
	margin:0 0 100px 0;
	padding:100px;
	background:url(../../img/common/illust_corner.png) no-repeat 8px 8px #ffffff;
	background-size:44px;
	border:1px solid #1c375f;
}

#sdgs .box h2{
	position:relative;
	margin:0 0 50px 0;
	padding:0 0 0 34px;
	font-size:3.2rem;
	line-height:5.2rem;
}

#sdgs .box h2::before{
	content:"";
	position:absolute;
	top:18px;
	left:0;
	width:20px;
	height:20px;
	background:#141414;
}

#sdgs .box ul{
	display:flex;
	flex-wrap:wrap;
	gap:37px;
	margin:0 0 50px 0;
}

#sdgs .box dl dt{
	margin:0 0 10px 0;
	font-size:2.0rem;
	font-weight:700;
	line-height:3.0rem;
}

@media screen and (max-width:767px){
#sdgs .box{
	margin:0 0 40px 0;
	padding:60px 20px 40px;
}

#sdgs .box h2{
	margin:0 0 30px 0;
	padding:0 0 0 24px;
	font-size:2.0rem;
	line-height:3.0rem;
}

#sdgs .box h2::before{
	top:8px;
	width:14px;
	height:14px;
}

#sdgs .box ul{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:10px;
	margin:0 0 30px 0;
}

#sdgs .box ul li img{
	width:100%;
}

#sdgs .box dl dt{
	font-size:1.8rem;
	line-height:2.8rem;
}
}


/* ========================================================================
	採用情報						[ /recruit/ ]
======================================================================== */
#recruit{
	padding-bottom:100px;
}
#recruit > section:last-child{ padding:0; }

#recruit .inner > p{
	margin:0 0 100px 0;
}

#recruit ul{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:60px 54px;
	margin:0 0 100px 0;
}

#recruit ul li a{
	display:block;
	font-size:2.0rem;
	line-height:3.0rem;
	text-decoration:none;
}

#recruit ul li img{
	display:block;
	margin:0 auto 15px;
}

#recruit ul li span{
	display:block;
	margin:0 0 5px 0;
	font-size:1.6rem;
	line-height:2.6rem;
}

@media screen and (max-width:767px){
#recruit{
	padding-bottom:20px;
}

#recruit .inner > p{
	margin:0 0 40px 0;
}

#recruit ul{
	grid-template-columns:repeat(2,1fr);
	gap:40px 20px;
	margin:0 0 40px 0;
}

#recruit ul li a{
	font-size:1.8rem;
	line-height:2.8rem;
}

#recruit ul li span{
	font-size:1.4rem;
	line-height:2.4rem;
}
}


/* ----------------------------------------
	widget_bnr
---------------------------------------- */
#recruit .widget_bnr a{
	background-image:url(../../img/recruit/bg_guideline.jpg);
}


/* ========================================================================
	募集要項						[ /recruit/guideline/ ]
======================================================================== */
#guideline{
	padding-bottom:100px;
}

@media screen and (max-width:767px){
#guideline{
	padding-bottom:20px;
}
}


/* ----------------------------------------
	widget_lead
---------------------------------------- */
#guideline p.lead{
	margin:0 0 100px 0;
	text-align:center;
	font-size:5.0rem;
	line-height:7.0rem;
	letter-spacing:0.05em;
}

@media screen and (max-width:767px){
#guideline p.lead{
	margin:0 0 40px 0;
	padding:40px 0;
	font-size:3.0rem;
	line-height:4.0rem;
}
}


/* ----------------------------------------
	widget_lead
---------------------------------------- */
#guideline .widget_lead{
	margin:0 0 100px 0;
}

@media screen and (max-width:767px){
#guideline .widget_lead{
	margin:0 0 40px 0;
}
}


/* ========================================================================
	社員インタビュー				[ /recruit/interview/ ]
======================================================================== */

/* ----------------------------------------
	profile
---------------------------------------- */
#interview .profile{
	margin:0 0 200px 0;
}

#interview .profile .key{
	position:relative;
	width:848px;
}

#interview .profile .key::before{
	content:"";
	position:absolute;
	top:32px;
	left:28px;
	width:100%;
	height:100%;
	background:#eff1f3;
}

#interview .profile .key > img{
	position:relative;
	z-index:1;
}

#interview .profile .box{
	position:relative;
	width:800px;
	margin:-90px 0 0 400px;
	padding:130px 54px 130px 118px;
	background:#ffffff;
	border:1px solid #1c375f;
}

#interview .profile .box::before,
#interview .profile .box::after{
	content:"";
	position:absolute;
	bottom:10px;
	left:10px;
	width:44px;
	height:44px;
	background:url(../../img/common/illust_corner.png) no-repeat center;
	background-size:cover;
	transform:scale(1, -1);
}
#interview .profile .box::after{
	bottom:auto;
	left:auto;
	top:10px;
	right:10px;
	transform:scale(-1, 1);
}

#interview .profile .box dl{
	display:flex;
	padding:20px 8px;
	border-top:1px solid #d9d9d9;
}
#interview .profile .box dl:first-child{ border:none; }

#interview .profile .box dl dt{
	width:200px;
	font-weight:700;
	color:#264266;
	line-height:3.0rem;
}

#interview .profile .box dl dd{
	flex:1;
	line-height:3.0rem;
}

@media screen and (max-width:767px){
#interview .profile{
	margin:0 0 60px 0;
}

#interview .profile .key{
	width:auto;
	margin:0 20px 0 0;
}

#interview .profile .key::before{
	top:10px;
	left:10px;
}

#interview .profile .box{
	width:auto;
	margin:-40px 0 0 20px;
	padding:40px 20px;
}
#interview .profile .box::after{ content:none; }

#interview .profile .box dl{
	display:block;
}

#interview .profile .box dl dt{
	width:auto;
}
}


/* ----------------------------------------
	interview
---------------------------------------- */
#interview .interview h3{
	position:relative;
	margin:0 0 50px 0;
	padding:12px 0 12px 115px;
	border-bottom:1px solid #19385f;
	font-size:3.0rem;
	color:#19385f;
	line-height:5.0rem;
	letter-spacing:0.05em;
}

#interview .interview h3 span{
	display:flex;
	justify-content:center;
	align-items:center;
	position:absolute;
	top:0;
	left:0;
	width:75px;
	height:75px;
	background:#19385f;
	color:#ffffff;
}

#interview .interview h3 span::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	border-style:solid;
	border-color:#c9bc9c transparent transparent transparent;
	border-width:20px 20px 0px 0px;
}

#interview .interview p{
	margin:0 0 100px 0;
	padding:60px 80px;
	background:#eff1f3;
}

#interview .interview ul{
	display:flex;
	flex-wrap:wrap;
	gap:20px 21px;
	padding:0 0 100px 0;
}

@media screen and (max-width:767px){
#interview .interview h3{
	margin:0 0 30px 0;
	padding:4px 0 8px 60px;
	font-size:1.8rem;
	line-height:2.8rem;
}

#interview .interview h3 span{
	width:40px;
	height:40px;
	font-size:1.6rem;
}
#interview .interview h3 span::before{ border-width:10px 10px 0px 0px; }

#interview .interview p{
	margin:0 0 40px 0;
	padding:30px 20px;
}

#interview .interview ul{
	justify-content:center;
	gap:0;
	margin:0 -10px;
	padding:0 0 20px 0;
}

#interview .interview ul li{
	width:50%;
	padding:0 10px 20px;
}
}


/* ----------------------------------------
	schedule
---------------------------------------- */
#interview .schedule ol{
	margin:0 0 100px 0;
	padding:100px 60px 76px;
	background:#f0f1f3;
}

#interview .schedule ol li{
	position:relative;
	margin:0 0 24px 0;
	padding:0 40px 0 224px;
	background:#ffffff;
	border-radius:10px;
}

#interview .schedule ol li::before{
	content:"";
	position:absolute;
	top:0;
	left:38px;
	width:2px;
	height:calc(100% + 24px);
	background:#b5c5d8;
	mix-blend-mode:multiply;
}
#interview .schedule ol li:first-child::before{ top:46px; }
#interview .schedule ol li:last-child::before{ height:46px; }

#interview .schedule ol li span{
	position:absolute;
	top:40px;
	left:32px;
	padding:0 0 0 36px;
	font-size:2.4rem;
	font-weight:600;
	color:#19385f;
	line-height:1;
}

#interview .schedule ol li span::before{
	content:"";
	position:absolute;
	top:5px;
	left:0;
	width:14px;
	height:14px;
	background:#19385f;
	border-radius:50%;
}

#interview .schedule ol li dl dt{
	padding:35px 0 16px 0;
	font-size:2.2rem;
	font-weight:700;
	color:#19385f;
	line-height:3.2rem;
}

#interview .schedule ol li dl dd{
	padding:0 0 40px 0;
	line-height:3.0rem;
}

@media screen and (max-width:767px){
#interview .schedule ol{
	margin:0 0 40px 0;
	padding:40px 20px 20px;
}

#interview .schedule ol li{
	position:relative;
	margin:0 0 20px 0;
	padding:0 20px 0 54px;
}

#interview .schedule ol li::before{
	left:26px;
	height:calc(100% + 20px);
}
#interview .schedule ol li:first-child::before{ top:31px; }
#interview .schedule ol li:last-child::before{ height:31px; }

#interview .schedule ol li span{
	display:block;
	position:static;
	padding:27px 0 0 0;
	font-size:2.0rem;
}

#interview .schedule ol li span::before{
	top:30px;
	left:20px;
}

#interview .schedule ol li dl dt{
	padding:10px 0;
	font-size:1.8rem;
	line-height:2.8rem;
}

#interview .schedule ol li dl dd{
	padding:0 0 30px 0;
}
}


/* ========================================================================
	ISO認証取得						[ /iso/ ]
======================================================================== */
#iso section{
	padding-bottom:150px;
}

#iso p,
#iso ul,
#iso dl,
#iso .asr{
	margin:0 0 50px 0;
}

#iso .asr img{
	margin:0 30px 0 0;
}

#iso > .inner > p{
	margin:0 0 200px 0;
}

@media screen and (max-width:767px){
#iso section{
	padding-bottom:20px;
}

#iso p,
#iso ul,
#iso dl,
#iso .asr{
	margin:0 0 40px 0;
}

#iso ul li{
	padding:0 0 0 1.2em;
	text-indent:-1.2em;
}

#iso dl dd ul li{
	padding:0 0 0 1.5em;
	text-indent:-1.5em;
}

#iso .asr img{
	width:auto;
	height:80px;
}

#iso > .inner > p{
	margin:0 0 60px 0;
}
}


/* ----------------------------------------
	h_01
---------------------------------------- */
#iso .h_01{
	margin-top:100px;
}

#iso .h_01:first-child{
	margin-top:0;
}

@media screen and (max-width:767px){
#iso .h_01{
	margin-top:60px;
}
}


/* ========================================================================
	SKTown							[ /sktown/ ]
======================================================================== */

/* ----------------------------------------
	vr
---------------------------------------- */
#sktown-about .vr{
	padding:0 0 100px 0;
}

#sktown-about .vr .key{
	margin:0 0 70px 0;
}

#sktown-about .vr dl{
	margin:0 0 100px 0;
	text-align:center;
}

#sktown-about .vr dl dt{
	margin:0 0 50px 0;
	font-size:5.0rem;
	line-height:1;
	letter-spacing:0.05em;
}

#sktown-about .vr dl dd{
	font-size:2.0rem;
}

@media screen and (max-width:767px){
#sktown-about .vr{
	padding:0 0 20px 0;
}

#sktown-about .vr .key{
	margin:0 0 40px 0;
}

#sktown-about .vr dl{
	margin:0 0 40px 0;
}

#sktown-about .vr dl dt{
	margin:0 0 20px 0;
	font-size:3.0rem;
}

#sktown-about .vr dl dd{
	font-size:1.8rem;
}
}


/* ----------------------------------------
	voice
---------------------------------------- */
#sktown-about .voice ul{
	margin:0 0 100px 0;
	padding:80px 80px 40px;
	background:#eff1f3;
}

#sktown-about .voice ul li{
	display:flex;
	align-items:center;
	position:relative;
	min-height:220px;
	margin:0 0 60px 204px;
	padding:40px 60px;
	background:#ffffff;
	border:1px solid #b2c3d4;
	border-radius:20px;
}

#sktown-about .voice ul li::before,
#sktown-about .voice ul li::after{
	content:"";
	position:absolute;
	top:42px;
	left:-28px;
	border-style:solid;
	border-width:22.5px 28px 22.5px 0;
	border-color:transparent #b2c3d4 transparent transparent;
}
#sktown-about .voice ul li::after{
	top:43px;
	left:-27px;
	border-width:21.5px 27px 21.5px 0;
	border-right-color:#ffffff;
}

#sktown-about .voice ul li > img{
	position:absolute;
	top:4px;
	left:-204px;
}

@media screen and (max-width:767px){
#sktown-about .voice ul{
	margin:0 0 40px 0;
	padding:60px 20px 40px;
}

#sktown-about .voice ul li{
	min-height:auto;
	margin:0 0 60px 0;
	padding:30px 20px;
}
#sktown-about .voice ul li:last-child{ margin:0 }

#sktown-about .voice ul li::before,
#sktown-about .voice ul li::after{
	content:none;
}

#sktown-about .voice ul li > img{
	top:-40px;
	left:20px;
	width:60px;
}
}


/* ----------------------------------------
	login
---------------------------------------- */
#sktown-about .login .btn{
	display:flex;
	justify-content:center;
	margin:0 0 100px 0;
}

#sktown-about .login .btn a{
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;
	min-width:580px;
	min-height:120px;
	padding:0 36px 0 0;
	background:#1c375f;
	font-size:2.4rem;
	font-weight:600;
	color:#ffffff;
	line-height:1;
	letter-spacing:0.05em;
	text-decoration:none;
}

#sktown-about .login .btn img{
	margin:0 50px 0 0;
}

#sktown-about .login .btn a[target="_blank"]::before,
#sktown-about .login .btn a[target="_blank"]::after{
	content:"";
	position:absolute;
	bottom:1px;
	right:1px;
	width:48px;
	height:48px;
	background:#5373a0;
}
#sktown-about .login .btn a[target="_blank"]::after{
	bottom:15px;
	right:15px;
	width:20px;
	height:20px;
	background:url(../../img/common/icon_blank.svg) no-repeat center;
	filter:invert(100%) sepia(2%) saturate(493%) hue-rotate(153deg) brightness(116%) contrast(100%);
}

@media screen and (max-width:767px){
#sktown-about .login .btn{
	margin:0 0 40px 0;
}

#sktown-about .login .btn a{
	min-width:100%;
	min-height:80px;
	padding:0;
	font-size:1.8rem;
}

#sktown-about .login .btn img{
	width:24px;
	margin:0 10px 0 0;
}

#sktown-about .login .btn a[target="_blank"]::before,
#sktown-about .login .btn a[target="_blank"]::after{
	width:30px;
	height:30px;
}
#sktown-about .login .btn a[target="_blank"]::after{
	bottom:10px;
	right:10px;
	width:12px;
	height:12px;
}
}


/* ========================================================================
	お問い合わせ					[ /contact/ ]
======================================================================== */
#contact{
	padding-bottom:100px;
}

#contact p{
	margin:0 0 100px 0;
}

#contact table th{
	position:relative;
	padding:27px 40px 27px 100px;
	text-align:left;
}

#contact table th .must{
	position:absolute;
	top:33px;
	left:40px;
	margin:0;
}

#contact table ul.note{
	padding:10px 0 0 0;
}

#contact table ul.note li{
	padding:10px 0 0 1.0em;
	text-indent:-1.0em;
	font-size:1.4rem;
	line-height:2.4rem;
}

@media screen and (max-width:767px){
#contact{
	padding-bottom:20px;
}

#contact p{
	margin:0 0 40px 0;
}

#contact table th{
	padding:12px 20px 12px 80px;
}

#contact table th .must{
	top:18px;
	left:20px;
}

#contact table td{
	padding:20px;
}
}


/* ----------------------------------------
	txt
---------------------------------------- */
#contact .txt{
	display:flex;
	justify-content:center;
}


/* ----------------------------------------
	must
---------------------------------------- */
#contact .must{
	display:inline-block;
	width:40px;
	margin:0 10px 6px 0;
	padding:6px 0;
	background:#dd0000;
	text-align:center;
	vertical-align:bottom;
	font-size:1.2rem;
	color:#ffffff;
	line-height:1;
}


/* ----------------------------------------
	error
---------------------------------------- */
#contact .error{
	margin:0 0 100px 0;
}

#contact .error p{
	margin:0;
	text-align:center;
	color:#dd0000;
}

@media screen and (max-width:767px){
#contact .error{
	margin:0 0 40px 0;
}
}


/* ----------------------------------------
	confirm
---------------------------------------- */
#contact table.confirm th{
	padding:22px 40px;
}

@media screen and (max-width:767px){
#contact table.confirm th,
#contact table.confirm td{
	padding:12px 20px;
}
}


/* ========================================================================
	個人情報保護方針				[ /privacy/ ]
======================================================================== */
#privacy{
	padding-bottom:100px;
}

#privacy section{
	padding:0 0 50px 0;
}

#privacy section p{
	margin:0 0 50px 0;
}

#privacy section p.right{
	text-align:right;
}

#privacy dl dt{
	font-weight:700;
}

#privacy dl dd,
#privacy ul li{
	margin:0 0 50px 0;
}
#privacy dl ul li,
#privacy ul dl dd{ margin:0; }

#privacy dl ul li{
	padding:0 0 0 1.0em;
	text-indent:-1.0em;
}

@media screen and (max-width:767px){
#privacy{
	padding-bottom:0;
}

#privacy section{
	padding:0 0 20px 0;
}

#privacy section p,
#privacy dl dd,
#privacy ul li{
	margin:0 0 40px 0;
}
}


/* ----------------------------------------
	mark
---------------------------------------- */
#privacy .mark{
	display:flex;
	align-items:flex-start;
	margin:0 0 100px 0;
}

#privacy .mark a{
	order:1;
}

#privacy .mark p{
	flex:1;
	margin:0 50px 0 0;
}

@media screen and (max-width:767px){
#privacy .mark{
	flex-direction:column;
	align-items:center;
	margin:0 0 60px 0;
}

#privacy .mark a{
	order:0;
}

#privacy .mark a img{
	display:block;
	width:160px;
	margin:0 auto 40px;
}

#privacy .mark p{
	margin:0;
}
}


/* ----------------------------------------
	note
---------------------------------------- */
#privacy .note li{
	margin-left:1.0em;
	padding-left:2.0em;
	text-indent:-2.0em;
}


/* ========================================================================
	サイトマップ					[ /sitemap/ ]
======================================================================== */
#sitemap{
	padding-bottom:200px;
}

@media screen and (max-width:767px){
#sitemap{
	padding-bottom:60px;
}
}


/* ----------------------------------------
	widget_sitemap
---------------------------------------- */
#sitemap .widget_sitemap{
	padding-bottom:170px;
}

@media screen and (max-width:767px){
#sitemap .widget_sitemap{
	padding-bottom:40px;
}
}


/* ----------------------------------------
	link
---------------------------------------- */
#sitemap .link ul{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:30px;
}

@media screen and (max-width:767px){
#sitemap .link ul{
	grid-template-columns:none;
	gap:20px;
	place-content:center;
}

#sitemap .link ul li{
	line-height:2.6rem;
}
}