@charset "utf-8";

.lower-section{
    padding:140px 5vw;
}
.anchor{
	scroll-margin-top: 120px;
}
span.ib{
	display: inline-block!important;
}

/*================================================
Lower Hero
================================================*/

.lower-hero{
    margin-top:105px;
    height:420px;
    display:flex;
    background:#fff;
    overflow:hidden;
    position:relative;
}

/*---- 左 ---------------*/

.lower-hero__copy{
    width:38%;
    padding:60px clamp(1.25rem, -6.348rem + 12.25vw, 4.375rem);
    display:flex;
    flex-direction:column;
    justify-content:center;
    position:relative;
    z-index:3;
    /*background:#fff;*/
    margin: 0 -5vw 0 clamp(5vw, calc(5vw + (100vw - 992px) * 5 / 208), 10vw);
}

.lower-hero .en{
    font-size:clamp(4rem, -10.308rem + 23.08vw, 7rem);
    font-weight:900;
    line-height:1;
    color:var(--orange);
    margin-bottom:20px;
    letter-spacing:.03em;
	white-space: nowrap;
    text-shadow: 3px 3px 0 #fff, 3px -3px 0 #fff, -3px 3px 0 #fff,-3px -3px 0 #fff;	
}

.lower-hero h1{
    font-size:clamp(1.8rem, 0.827rem + 1.57vw, 2.2rem);
    line-height:1.45;
    font-weight:900;
    margin-bottom:25px;
	white-space: nowrap;
}

.lower-hero p{
    font-size:clamp(1rem, -0.431rem + 2.31vw, 1.3rem);
    line-height:2;
    color:#555;
}

/*--- 右写真 ----------------------*/

.lower-hero__image{
    flex:1;
    position:relative;
    overflow:hidden;
}

.lower-hero__image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

/*---斜めの白ライン ----------------------*/

.lower-hero__image::before{
    content:"";
    position:absolute;
    left:-120px;
    top:0;
    width:220px;
    height:100%;
    background:#fff;
    transform:skewX(-18deg);
    z-index:2;
	border-right: 20px solid var(--orange);
}
/*================================================
Breadcrumb
================================================*/

.breadcrumb{
    background:#fff;
    border-top:4px solid var(--orange);
}

.breadcrumb .section-inner{
    padding:8px 0;
}

.breadcrumb ol{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
	gap:12px;
    margin:0;
    padding:0;
    list-style:none;
    font-size:.8rem;
}

.breadcrumb li{
    display:flex;
    align-items:center;
    color:#777;
}

.breadcrumb li+li::before{
    content:"/";
	color:#c5c5c5;
    margin-right:12px;
}

.breadcrumb a{
    color:#777;
    transition:.3s;
}

.breadcrumb a:hover{
    color:var(--orange);
}

.breadcrumb span{
    color:#222;
    font-weight:700;
}
/*==========================
lower共通　responsive
===============================================*/
/*--　Tablet -------------*/

@media (max-width:991px){
	.lower-hero{
		height:auto;
		flex-direction:column;
	}
	.lower-hero__copy{
		width:100%;
		margin:0;
		padding:50px 5vw 35px;
	}
	.lower-hero .en{
		font-size:4rem;
		margin-bottom:12px;
	}
	.lower-hero h1{
		font-size:1.9rem;
	}
	.lower-hero__image{
		flex:none;
		height:260px;
	}
	.lower-hero__image::before{
		display:none;
	}
}
	
/*---  SP　-------------*/
@media (max-width:767px){
	.lower-hero{
		margin-top:80px;
	}
	.lower-hero__copy{
		padding:40px 6vw 30px;
	}
	.lower-hero .en{
		font-size:2.8rem;
		margin-bottom:10px;
	}
	.lower-hero h1{
		font-size:1.6rem;
		line-height:1.5;
		margin-bottom:15px;
	}
	.lower-hero p{
		font-size:1rem;
		line-height:1.8;
	}
	.lower-hero__image{
		height:190px;
	}
	.lower-section{
		padding:80px 6vw;
	}
}
/*============================
	Jobs
=======================================================*/
.job .heading-row{
	gap:30px;
}
.job .heading-row div{
	flex: 1.3;
}
.job .heading-row .heading-note{
	flex: 2;
}

/*===  Work Intro  =============================*/

.work-intro{
    padding:120px 5vw;
    position:relative;
	width: 100%;
	overflow: hidden;
}

.work-intro::before{
    content:"";
    position:absolute;
    top:60px;
    right:-80px;
    width:260px;
    height:260px;
    background-image: radial-gradient(rgba(225,89,37,.15) 1.6px, transparent 1.6px);
    background-size:14px 14px;
	background-repeat: repeat;
    pointer-events:none;
}

/*--- アイコン　-------------------*/

.work-point{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:28px;
    margin-top:70px;
    padding:0;
    list-style:none;
}

.work-point li{
    background:#fff;
    border-radius:24px;
    padding:45px 25px 35px;
    text-align:center;
    position:relative;
    box-shadow:0 12px 35px rgba(0,0,0,.06);
    transition:.35s;
    border:1px solid #f3f3f3;
}

.work-point li:hover{
    transform:translateY(-8px);
    box-shadow:0 18px 45px rgba(0,0,0,.12);
}
/* オレンジライン */
.work-point li::before{
    content:"";
    position:absolute;
    left:50%;
    top:0;
    transform:translateX(-50%);
    width:70px;
    height:5px;
    border-radius:99px;
    background:var(--orange);
}

/*--- アイコン丸　-------------------*/

.work-point span{
    width:95px;
    height:95px;
    margin:0 auto 28px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff6f2;
    transition:.35s;
}

.work-point li:hover span{
    transform:scale(1.08);
    background:#ffe9df;
}

.work-point img{
    width:48px;
    height:auto;
    display:block;
}

/*--- タイトル　-------------------*/

.work-point h3{
    font-size:1.4rem;
    line-height:1.5;
    font-weight:700;
    color:var(--navy);
    margin:0;

}
.work-point p{
    margin-top:12px;
    font-size:1rem;
    line-height:1.8;
    color:#666;
}


/*=== 仕事内容 ==========================*/
.cream{
	background: var(--cream);
}
.work-detail{
    padding:0 5vw;
}

.work-list{
    margin-top:80px;
}

.work-item{
    display:grid;
    grid-template-columns:48% 1fr;
    gap:60px;
    align-items:center;
    margin-bottom:110px;
}

.work-item.reverse{
    grid-template-columns:1fr 48%;
}

.work-item.reverse figure{
    order:2;
}

.work-item.reverse .work-content{
    order:1;
}

.work-item figure{
    position:relative;
    margin:0;
}

.work-item img{
    position:relative;
    z-index:2;	
    width:100%;
    aspect-ratio:7/5;
    object-fit:cover;
    border-radius:24px;
    display:block;
    box-shadow:0 18px 45px rgba(0,0,0,.08);
}
.work-item figure::before{
    content:"";
    position:absolute;
    inset:18px -18px -18px 18px;
    background:var(--orange);
    border-radius:24px;
}
.work-content{
    position:relative;
}

.number{
    display:block;
    font-size:5.5rem;
    font-weight:900;
    color:#f8d9cb;
    line-height:1;
    margin-bottom:15px;
}

.work-content h3{
    font-size:2.3rem;
    color:#1f365c;
    margin-bottom:20px;
}

.work-content p{
    line-height:2;
    color:#555;
}

.point-list{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:30px;
    padding:0;
    list-style:none;
}

.point-list li{
    padding:10px 18px;
    border-radius:50px;
	background:#fff5f0;
    color:var(--orange);
    font-weight:700;
    font-size:.98rem;
}

/*=== Gallery =============================*/

.photo-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:32px;
    margin-top:60px;
}

.photo-item{
    position:relative;
    margin:0;
}

.photo-item::after{
    content:"";
    position:absolute;
    top:5px;
    left:5px;
    width:100%;
    height:100%;
    background:var(--orange3);
    border-radius:20px;
    z-index:0;
    transition:.3s;
}

.photo-item a{
    position:relative;
    display:block;
    overflow:hidden;
    border-radius:20px;
    z-index:2;
    background:#fff;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
}

.photo-item img{
    display:block;
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    transition:.5s;
}

/*---　Caption　------*/

.photo-caption{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    padding:20px;
    background:linear-gradient( to top, rgba(20,38,61,.92), rgba(20,38,61,.45), transparent);
    color:#fff;
    opacity:0;
    transition:.35s;
}

.photo-caption span{
    display:block;
    font-size:1.7rem;
    font-weight:700;
    letter-spacing:.05em;
}

/*---　Hover　------*/

.photo-item:hover img{
    transform:scale(1.08);
}

.photo-item:hover .photo-caption{
    opacity:1;
}

.photo-item:hover::after{
    top:6px;
    left:6px;
}

/*===　選ばれる理由　=======================*/
.strength{
    padding:120px 5vw;
    background:#fff;
}

.strength-list{
    margin-top:70px;
}

.strength-item{
    display:flex;
    gap:50px;
    padding:40px 0;
    border-bottom:1px solid #e8e8e8;
    align-items:flex-start;
}

.strength-num{
    width:110px;
    flex:none;
}

.strength-num span{
    font-size:clamp(2.8rem, 0.667rem + 4.44vw, 4rem);
    font-weight:900;
    color:var(--orange);
    line-height:1;
}

.strength-content{
    flex:1;
}

.strength-content h3{
    font-size:2rem;
    margin-bottom:15px;
}

.strength-content p{
    color:#666;
    line-height:2;
}

/*===　PARTNER　====================================*/

.partner-band{
    padding:120px 5vw;
    background:var(--navy);
    position:relative;
    overflow:hidden;
}

.partner-band::before{
    content:"PARTNER";
    position:absolute;
    top:50px;
    left:-20px;
    font-size:12rem;
    font-weight:900;
    color:rgba(255,255,255,.03);
    letter-spacing:.08em;
    pointer-events:none;
}

.partner-band__inner{
    display:grid;
    grid-template-columns:1.5fr 1fr;
    gap:90px;
    align-items:center;
    position:relative;
    z-index:2;
}

.partner-content{
    color:#fff;
}

.partner-content h2{
    color:#fff;
    margin:10px 0 30px;
    font-size:clamp(1.5rem, 1.268rem + 0.98vw, 2rem);
}

.partner-lead{
    font-size:1.3rem;
    line-height:2;
    color:rgba(255,255,255,.85);
    margin-bottom:50px;

}

/*---　左側　------------------*/

.partner-feature{
    display:flex;
    flex-direction:column;
    gap:26px;
}
.feature-item{
    display:flex;
    gap:24px;
    align-items:flex-start;
}
.feature-item span{
    width:58px;
    height:58px;
    flex:none;
    border-radius:50%;
    background:var(--orange);
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:clamp(1.2rem, 1.107rem + 0.39vw, 1.4rem);
    font-weight:700;
}
.feature-item h3{
    color:#fff;
    margin-bottom:8px;
    font-size:clamp(1.2rem, 1.107rem + 0.39vw, 1.4rem);
}
.feature-item p{
    color:rgba(255,255,255,.75);
    line-height:1.8;
}

/*--- カード -------------------*/
.partner-box{
    background:#fff;
    border-radius:24px;
    padding:45px;
    box-shadow:0 30px 60px rgba(0,0,0,.15);
}
.partner-box h3{
    margin-bottom:30px;
    font-size:clamp(1.4rem, 1.215rem + 0.78vw, 1.8rem);
}

.check-list{
    margin:0;
    padding:0;
    list-style:none;
}

.check-list li{
    position:relative;
    padding-left:34px;
    margin-bottom:16px;
    line-height:1.8;
}

.check-list li::before{
    content:"✓";
    position:absolute;
    left:0;
    top:0;
    color:var(--orange);
    font-size:2rem;
    font-weight:bold;
}

.partner-box .btn{
    width:100%;
    margin-top:35px;
    justify-content:center;
}
/*==========================
Jobs.php　responsive
===============================================*/
/*--　Tablet -------------*/

@media (max-width:991px){
	.work-point{
		grid-template-columns:repeat(2,1fr);
	}
	.work-item,
	.work-item.reverse{
		grid-template-columns:1fr;
		gap:35px;
		margin-bottom:70px;
	}
	.work-item.reverse figure{
		order:1;
	}
	.work-item.reverse .work-content{
		order:2;
	}
	.work-item figure::before{
		inset:14px -14px -14px 14px;
	}

	.photo-grid{
		grid-template-columns:repeat(2,1fr);
		gap:24px;
	}

	.strength-item{
		gap:28px;
	}
	.strength-num{
		width:75px;
	}
	.strength-num span{
		font-size:2.8rem;
	}
	.strength-content h3{
		font-size:1.6rem;
	}

	.partner-band{
		padding:90px 5vw;
	}
	.partner-band__inner{
		grid-template-columns:1fr;
		gap:50px;
	}
	.partner-feature{
		gap:20px;
	}
	.partner-box{
		padding:35px 25px;
	}
	.partner-band::before{
		font-size:7rem;
		left:-10px;
	}
}

/*---  SP　-------------*/
@media (max-width:767px){
	.work-intro{
		padding:80px 6vw;
	}
	.work-point{
		grid-template-columns:1fr;
		gap:18px;
		margin-top:45px;
	}
	.work-point li{
		padding:30px 20px;
	}
	.work-point span{
		width:80px;
		height:80px;
	}
	.work-point img{
		width:40px;
	}
	.work-point h3{
		font-size:clamp(1.3rem, 0.858rem + 1.97vw, 1.8rem);
	}
	.work-detail{
		padding:0 6vw;
	}
	.work-item,
	.work-item.reverse{
		gap:25px;
		margin-bottom:55px;
	}
	.work-item figure::before{
		inset:10px -10px -10px 10px;
	}
	.number{
		font-size:3.5rem;
		margin-bottom:8px;
	}
	.work-content h3{
		font-size:1.7rem;
		margin-bottom:14px;
	}

	.point-list{
		gap:10px;
		margin-top:20px;
	}
	.point-list li{
		padding:8px 14px;
		font-size:.85rem;
	}

	.strength{
		padding:80px 6vw;
	}
	.strength-item{
		gap:18px;
		padding:30px 0;
	}
	.strength-num{
		width:clamp(2.813rem, 1.983rem + 3.69vw, 3.75rem);
	}
	.strength-num span{
		font-size:clamp(1.8rem, 0.915rem + 3.93vw, 2.8rem);
	}
	.strength-content h3{
		font-size:1.4rem;
	}


	.photo-grid{
		grid-template-columns:1fr;
		gap:20px;
	}
	.photo-caption{
		opacity:1;
		padding:16px;
	}
	.photo-caption span{
		font-size:1.2rem;
	}
	.photo-item::after{
		top:6px;
		left:6px;
	}

	.partner-band{
		padding:70px 6vw;
	}
	.partner-lead{
		font-size:1.1rem;
	}
	.feature-item{
		gap:16px;
	}
	.feature-item span{
		width:46px;
		height:46px;
		font-size:1.6rem;
	}	
}


@media (max-width:375px){
    .partner-box {
        padding: 35px 15px;
    }	
	.partner-box h3 {
    	font-size: 1.3rem;
	}	
	.check-list li::before {
    	font-size: 1.3rem;
	}
	.check-list li {
    	padding-left: 23px;
    	margin-bottom: 12px;
	}	
}

/*=======================================================
　people.php
=================================================================================*/
/*===	先輩インタビュー　======================================*/
.interview{
    position:relative;
    overflow:hidden;
}

.interview::before{
    content:"";
    position:absolute;
    width:380px;
    height:380px;
    border-radius:50%;
    background:rgba(240,138,36,.05);
    right:-120px;
    top:120px;
	filter: blur(10px);
}
.interview::after{
    content:"";
    position:absolute;
    width:280px;
    height:280px;
    border-radius:50%;
    background:rgba(240,138,36,.04);
    left:-120px;
    bottom:180px;
	filter: blur(10px);
}

.staff-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:50px 40px;
}

/*---　カード　-------------*/
.staff-card{
    background:#fff;
    border-radius:24px;
    overflow:hidden;
    border:1px solid var(--cream);
    transition:.35s;
}
.staff-card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 60px rgba(0,0,0,.08);
}
.staff-body{
    padding:30px;
}
.staff-head{
    display:flex;
    gap:25px;
    align-items:center;
    margin-bottom:35px;
}

/*---　写真　-------------*/
.staff-photo{
    width:65%;
    flex-shrink:0;
    aspect-ratio:7/5;
    position:relative;
    overflow:hidden;
    border-radius:18px;
	box-shadow:0 12px 30px rgba(0,0,0,.08);
}
.staff-photo::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    height:5px;
    background:var(--orange);
}
.staff-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:.5s;
    border-radius:18px;
}
.staff-card:hover img{
    transform:scale(1.05);
}

/*---　Profile　-------------*/
.staff-profile{
    flex:1;
}
.staff-name{
    color:#f08a24;
    letter-spacing:.15em;
    font-weight:700;
    margin-bottom:15px;
}
.staff-info{
    display:flex;
	flex-direction: column;
    gap:10px;
    margin-bottom:18px;
}
.staff-info li{
	list-style: none;
    background:var(--cream);
    padding:6px 14px;
    border-radius:50px;
    font-size:13px;
}
.staff-lead{
    color:#f08a24;
    font-size:1.3rem;
    line-height:1.5;
    margin-bottom:30px;
}

/*---　Q&A　-------------*/
.staff-qa dl{
    padding:18px 0 5px;
    border-bottom:1px solid #e9e9e9;
}
.staff-qa dt{
    font-weight:700;
    color:#333;
    margin-bottom:10px;
    position:relative;
    padding-left:28px;
}
.staff-qa dt::before{
    content:"Q";
    font-weight:bold;
    position:absolute;
    left: 0;
    top: 3px;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    background: var(--orange);
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}
.staff-qa dd{
    color:#666;
    line-height:2;
}

/*====　PRESIDENT MESSAGE　=============*/

.president-message{
    display:grid;
    grid-template-columns:320px minmax(0,760px);
	justify-content:space-between;
    gap:100px;
    align-items:start;
}

/*----タイトル--------------------*/
.president-title{
    position:sticky;
    top:120px;
}
.president-title .en{
    color:var(--orange);
    font-size:1.3rem;
    letter-spacing:.25em;
    font-weight:700;
    margin-bottom:15px;
}
.president-title h2{
    font-size:2.8rem;
    line-height:1.4;
}

/*---　本文　----------------*/
.president-body{
	position:relative;
    max-width:820px;
	padding-top: 50px;
	z-index: 1
}
.president-body::before{
    content:"";
    position:absolute;
    right:0px;
    top:-40px;
    width:180px;
    height:180px;
    border-radius:50%;
    background:rgba(255,255,255,.68);
    z-index:-1;
}
.president-body h3{
	font-size:2rem;
    line-height:1.6;
    font-weight:700;
    margin-bottom:50px;
    padding-left:24px;
    border-left:5px solid var(--orange);
}
.p-message{
    margin-bottom:60px;
}
.p-message p{
	font-size: 1.2rem;
    line-height:1.8;
    color:#444;
}
.p-message p + p{
    margin-top:15px;
}

/*---　署名　---------------*/
.signature{
    text-align:right;
}
.signature span{
    display:inline-block;
    margin-top:10px;
    font-size:2rem;
    letter-spacing:.18em;
    font-weight:700;
}

/*==========================
　people.php　responsive
====================================*/

@media screen and (max-width:1024px){

	.president-message{
		grid-template-columns:1fr;
		gap:40px;
	}
	.president-title{
		position:static;
	}
	.president-title h2{
		font-size:2.4rem;
	}
	.president-body{
		padding-top:0;
	}
	.president-body h3{
		font-size:1.9rem;
		margin-bottom:32px;
		padding-left:18px;
	}

	.p-message{
		margin-bottom:40px;
	}
	.p-message p{
		font-size:1.05rem;
		line-height:1.9;
	}

	.signature{
		margin-top:20px;
	}
	.signature span{
		font-size:1.6rem;
	}
}
/*---Tablet-------------------*/
@media(max-width:900px){

	.staff-list{
		grid-template-columns:1fr;
		gap:30px;
	}
	.staff-lead{
		font-size:1.2rem;
	}
	.staff-body{
		padding:24px;
	}
}
/*---　SP　-------------------*/
@media(max-width:768px){

	.staff-head{
    	display:block;
	}
	.staff-body{
		padding:22px;
	}
	.staff-lead{
		font-size:1.15rem;
	}
	.staff-info{
		gap:8px;
	}
	.staff-info li{
		font-size:12px;
	}
	.staff-photo{
		width:100%;
		max-width:460px;
		margin:0 auto 25px;
	}
}


/*---SP（小型スマホ）-------------------*/

@media screen and (max-width:480px){

	.president-title h2{
		font-size:2rem;
	}
	.president-body h3{
		font-size:1.5rem;
		margin-bottom:26px;
	}
}


/*======================================
	Company.php
========================================================*/
/*-- 会社概要 ---------*/
.company-profile{
    display:grid;
    grid-template-columns:420px 1fr;
    gap:80px;
    align-items:start;
	margin-bottom: 90px;
}

.company-profile__head{
    position:sticky;
    top:120px;
}

.company-profile__head .lead{
    margin:25px 0 40px;
    line-height:2;
}

.company-message{
    padding:35px;
    border-left:5px solid var(--orange);
    background:var(--cream);
    border-radius:0 15px 15px 0;
}

.company-message h3{
    margin-bottom:15px;
    font-size:22px;
    color:var(--navy);
}

.company-message p{
    line-height:2;
}

.company-photo{
    margin-top:40px;
}

.company-photo img{
    width:100%;
    border-radius:18px;
    display:block;
    box-shadow:0 20px 45px rgba(0,0,0,.12);
}

.company-photo p{
    margin-top:15px;
    font-size:14px;
    color:#666;
    line-height:1.8;
}

.info-table{
    width:100%;
    border-collapse:collapse;
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 15px 40px rgba(0,0,0,.06);
}

.info-table th,
.info-table td{
    padding:24px 28px;
    border-bottom:1px solid #eee;
    vertical-align:top;
}

.info-table th{
    width:180px;
    background:var(--cream);
    color:var(--orange);
    font-weight:700;
}

.info-table tr:last-child th,
.info-table tr:last-child td{
    border-bottom:none;
}

/*---代表挨拶-------------------------------*/
.president-message{
    display:grid;
    grid-template-columns:360px 1fr;
    gap:70px;
    align-items:center;
    margin-top:60px;
}

.president-photo img{
    width:100%;
    display:block;
    border-radius:24px;
    box-shadow:0 20px 45px rgba(0,0,0,.12);
}

.president-name{
    margin-top:25px;
    padding-left:20px;
    border-left:4px solid var(--orange);
}

.president-name small{
    display:block;
    color:#888;
    letter-spacing:.12em;
    text-transform:uppercase;
    margin-bottom:8px;
}

.president-name h3{
    margin:0;
    font-size:28px;
    color:var(--navy);
}

.president-text h3{
    margin-bottom:35px;
    font-size:clamp(28px,3vw,40px);
    line-height:1.5;
    color:var(--navy);
}

.president-text p{
    margin-bottom:22px;
    line-height:2.1;
    color:#555;
}

.president-text p:last-child{
    margin-bottom:0;
    padding-top:15px;
    border-top:1px solid #e8e8e8;
    font-weight:600;
}

/*----理念------------------------------*/
.philosophy{
    background:#fff8f3;
}
.philosophy-wrap{
    display:grid;
    grid-template-columns:340px 1fr;
    gap:90px;
    align-items:start;
}
.philosophy-head{
    position:sticky;
    top:120px;
}
.philosophy-head .lead{
    margin-top:25px;
    line-height:2;
    color:#666;
}
.philosophy-list article{
    position:relative;
    padding:45px 0 45px 110px;
    border-bottom:1px solid #e5e5e5;
}
.philosophy-list article:first-child{
    border-top:1px solid #e5e5e5;
}
.philosophy-list span{
    position:absolute;
    left:0;
    top:40px;
    font-size:64px;
    font-weight:900;
    color:#ececec;
    line-height:1;
    transition:.35s;
}
.philosophy-list h3{
    margin:0;
    font-size:30px;
    color:var(--navy);
    line-height:1.7;
    font-weight:700;
    transition:.35s;
}

.philosophy-list article:hover span{
    color:rgba(225,89,37,.28);
    transform:translateX(10px);
}

.philosophy-list article:hover h3{
    color:var(--orange);
    transform:translateX(10px);
}

/*---WORKPLACE----------------------------*/

.workplace{
    background:#fff;
}
.environment-grid{
    margin-top:70px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:35px;
}

.environment-grid article{
    position:relative;
    padding:45px 35px;
    background:#fff;
    border:1px solid #ececec;
    border-radius:20px;
    transition:.35s;
    overflow:hidden;
}

.environment-grid article::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:6px;
    background:var(--orange);
    transform:scaleX(0);
    transform-origin:left;
    transition:.35s;
}

.environment-grid article:hover{
	border-color:var(--orange);
	transform:translateY(-8px);
    box-shadow:0 20px 45px rgba(0,0,0,.08);
}
.environment-grid article:hover::before{
    transform:scaleX(1);
}
.environment-grid .icon{
    width:74px;
    height:74px;
    border-radius:50%;
    background:var(--orange);
    display:flex;
    justify-content:center;
    align-items:center;
	margin-bottom:28px;
}
.environment-grid i{
    font-size:34px;
    transition:.35s;
    color:#fff;
}

.environment-grid h3{
    margin-bottom:18px;
    color:var(--navy);
    font-size:24px;
}

.environment-grid p{
    color:#666;
    line-height:2;
}
.bootmlead{
	text-align: center;
	margin-top: 40px;
}

/*==========================
	Company.php　responsive
===============================================*/
/*--　Tablet -------------*/
@media (max-width:991px){
	.company-profile{
		grid-template-columns:1fr;
		gap:50px;
		margin-bottom:60px;
	}
	.company-profile__head{
		position:static;
	}
	.company-message{
		padding:28px;
	}
	.company-message h3{
		font-size:clamp(1.125rem, 0.983rem + 0.63vw, 1.375rem);
	}
	.company-profile__map iframe{
		height:320px;
	}
	.info-table th{
		width:150px;
	}
	.info-table th,
	.info-table td{
		padding:18px 20px;
	}
	.president-message{
		grid-template-columns:280px 1fr;
		gap:45px;
		margin-top:45px;
	}
	.president-name h3{
		font-size:clamp(1.375rem, 1.161rem + 0.95vw, 1.75rem);
	}
	.philosophy-wrap{
		grid-template-columns:1fr;
		gap:45px;
	}
	.philosophy-head{
		position:static;
	}
	.philosophy-list article{
		padding:35px 0 35px 90px;
	}
	.philosophy-list span{
		top:32px;
		font-size:clamp(2.5rem, 1.645rem + 3.8vw, 4rem);
	}
	.philosophy-list h3{
		font-size:clamp(1.3125rem, 0.991rem + 1.43vw, 1.875rem);
	}
	.environment-grid{
		grid-template-columns:repeat(2,1fr);
		gap:26px;
		margin-top:55px;
	}
	.environment-grid article{
		padding:38px 28px;
	}
	.environment-grid h3{
		font-size:clamp(1.1875rem, 1.01rem + 0.79vw, 1.5rem);
	}
}

/*---  SP　-------------*/
@media (max-width:767px){
	.company-profile{
		gap:40px;
		margin-bottom:50px;
	}
	.company-profile__head .lead{
		margin:18px 0 28px;
	}
	.company-message{
		padding:22px;
	}
	.company-profile__map iframe{
		height:240px;
	}
	.info-table{
		border-radius:14px;
	}
	.info-table th,
	.info-table td{
		display:block;
		width:100%;
		padding:14px 18px;
	}
	.info-table th{
		padding-bottom:6px;
		border-bottom:none;
	}
	.info-table td{
		padding-top:0;
	}
	.president-message{
		grid-template-columns:1fr;
		gap:30px;
		margin-top:40px;
	}
	.president-photo img{
		max-width:280px;
		margin:0 auto;
	}
	.president-name{
		margin:18px auto 0;
		max-width:280px;
	}
	.president-text h3{
		margin-bottom:22px;
	}
	.president-text p{
		line-height:1.9;
		margin-bottom:18px;
	}
	.philosophy-list article{
		padding:28px 0 28px 75px;
	}
	.philosophy-list span{
		top:26px;
	}
	.environment-grid{
		grid-template-columns:1fr;
		gap:20px;
		margin-top:45px;
	}
	.environment-grid article{
		padding:32px 24px;
	}
	.environment-grid .icon{
		width:62px;
		height:62px;
		margin-bottom:20px;
	}
	.environment-grid i{
		font-size:28px;
	}
	.bootmlead{
		margin-top:30px;
		font-size:.95rem;
	}
}

/*======================================
	recruit.php
=======================================================*/
.recruit .heading-row {
	flex-direction: column;
	align-items:flex-start; 
}

.recruit .btn-org{
border-radius:60px;
font-size:20px;
font-weight:700;
box-shadow:0 8px 0 #c84a17;

}
/*==================================================
MESSAGE
==================================================*/

.recruit-message{
    background:#fff;
}

.recruit-message-wrap{

    display:grid;
    grid-template-columns:480px 1fr;
    gap:70px;
    align-items:center;

    margin-top:70px;

}

/*-----------------------
写真
-----------------------*/

.message-photo img{

    width:100%;
    display:block;

    border-radius:24px;

    box-shadow:0 25px 60px rgba(0,0,0,.12);

}

/*-----------------------
右
-----------------------*/

.message-content h3{

    font-size:28px;

    line-height:1.5;

    margin-bottom:35px;

    color:var(--navy);

}
.message-content p{
	margin: 20px;
}
.message-check{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:15px;
	margin-bottom: 20px;
}

.message-check li{
    list-style:none;
    display:flex;
    align-items:center;
    gap:18px;
    padding:22px 28px;
	background:#fff7f3;
    border-radius:16px;
    font-size:18px;
    font-weight:700;
    border:2px dashed #ffb08c;
    transition:.3s;
}

.message-check li::before{

    content:"✓";

    width:30px;
    height:30px;

    flex:none;

    border-radius:50%;

    background:var(--orange);

    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:18px;

}

.message-check li:hover{

    transform:translateX(8px);

    background:#fff8f3;

}

/*==================================================
MESSAGE BOX
==================================================*/

.message-box{

    margin-top:90px;

    padding:70px;

    text-align:center;

    background:linear-gradient(135deg,#fff8f3,#ffffff);

    border-radius:30px;

    position:relative;

    overflow:hidden;

}

.message-box::before{

    content:"MESSAGE";

    position:absolute;

    top:-10px;
    right:30px;

    font-size:90px;

    font-weight:900;

    color:rgba(225,89,37,.05);

    letter-spacing:.08em;

}

.message-box h3{

    font-size:40px;

    margin-bottom:30px;

    color:var(--navy);

}

.message-box p{

    max-width:820px;

    margin:20px auto 0;

    line-height:2;

    color:#555;

}
/*==================================
NEW3K
==================================*/

.new3k{
    background:linear-gradient(180deg,#fff7f2 0%,#fff4e8 100%);
    position:relative;
    overflow:hidden;
}

.new3k::before{
    content:"NEW 3K";
    position:absolute;
    right:-20px;
    top:20px;
    font-size:8rem;
    font-weight:900;
    color:rgba(225,89,37,.05);
    line-height:1;
}

.new3k-heading{
    text-align:center;
    margin-bottom:70px;
}

.new3k-label{
    display:inline-block;
    padding:8px 18px;
    background:var(--orange);
    color:#fff;
    border-radius:50px;
    font-size:.9rem;
    font-weight:700;
    letter-spacing:.15em;
    margin-bottom:20px;
}

.new3k-heading h2{
    font-size:clamp(2rem,3vw,3rem);
    line-height:1.5;
    margin-bottom:20px;
}

.new3k-heading h2 span{
    color:var(--orange);
}

.new3k-heading p{
    color:#666;
}

.new3k-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.new3k-card{
    background:#fff;
    border-radius:25px;
    padding:45px 30px;
    text-align:center;
    box-shadow:0 18px 40px rgba(0,0,0,.08);
    transition:.35s;
    position:relative;
}

.new3k-card:hover{
    transform:translateY(-10px) rotate(-1deg);
}

.new3k-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:8px;
    background:var(--orange);
    border-radius:25px 25px 0 0;
}

.new3k-card .icon{
    width:90px;
    height:90px;
    margin:0 auto 20px;
    border-radius:50%;
    background:#fff4ed;
    display:flex;
    justify-content:center;
    align-items:center;
    color:var(--orange);
    font-size:2.3rem;
}
.new3k-card .kanji{
    display:inline-block;
    width:52px;
    height:52px;
	line-height:52px;
    border-radius:50%;
    background:var(--orange);
    color:#fff;
    font-size:1.5rem;
    font-weight:900;
    margin-bottom:18px;
}
.new3k-card h3{
    font-size:1.7rem;
    margin-bottom:15px;
}
.new3k-card strong{
    display:block;
    color:var(--orange);
    font-size:clamp(1.3rem, 1.164rem + 0.58vw, 1.6rem);
    margin-bottom:20px;
    line-height:1.4;
}
.new3k-card p{
    color:#555;
    line-height:1.9;
}
.new3k-bottom{
    margin-top:60px;
    background:var(--orange);
    color:#fff;
    text-align:center;
    padding:35px;
    border-radius:20px;
}
.new3k-bottom strong{
    display:block;
    font-size:clamp(1.3rem, 1.164rem + 0.58vw, 1.6rem);
    margin-bottom:10px;
}
.new3k-bottom p{
    margin:0;
    line-height:1.8;
}

/*-- RECRUIT INFO ---------*/
.recruit-info{
    position:relative;
    overflow:hidden;
    background:#fff4e8;
}
.recruit-info::before{
	position: absolute;
    content:"RECRUIT";
    right:-20px;
    top:20px;
    font-size:8rem;
    font-weight:900;
    line-height:1;
    color:rgba(225,89,37,.05);
    pointer-events:none;
}
.recruit-info .section-inner{
    position:relative;
    z-index:2;
}
.recruit-point-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    margin:60px 0;
}
.point-card{
    background:#fff;
    border-radius:20px;
    text-align:center;
    padding:35px 20px;
    box-shadow:0 12px 30px rgba(0,0,0,.08);
    transition:.3s;
}

.point-card:hover{
    transform:translateY(-8px);
}
.point-card i{
    font-size:2.5rem;
    color:var(--orange);
    margin-bottom:20px;
}
.point-card h3{
    font-size:1.2rem;
    margin-bottom:12px;
}
.point-card strong{
    display:block;
    color:var(--orange);
    font-size:1.4rem;
    margin-bottom:10px;
    line-height:1.4;
}
.point-card p{
    font-size:.95rem;
    margin:0;
    color:#666;
}
/* TABLE */
.info-table{
    margin-top:50px;
}
.info-table th{
    width:220px;
    background:var(--navy);
	color:#fff;
}
.info-table td strong{
    color:var(--orange);
    font-size:1.2rem;
}

/*=== FLOW =============================*/

.recruit-flow{
    position:relative;
    overflow:hidden;
    background:#fff;
}

.recruit-flow::before{
	position: absolute;
    content:"FLOW";
    right:-20px;
    top:20px;
    font-size:8rem;
    font-weight:900;
    line-height:1;
    color:rgba(225,89,37,.05);
    pointer-events:none;
}

.recruit-flow .section-inner{
    position:relative;
    z-index:2;
}

.flow-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
    margin-top:60px;
}
.flow-card{
    position:relative;
    background:#fff;
    border-radius:24px;
    padding:30px 10px;
    text-align:center;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
    transition:.3s;
    overflow:hidden;
}
.flow-card:hover{
    transform:translateY(-10px);
}
.flow-card::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:8px;
    background:var(--orange);
}
.flow-step{
    display:inline-block;
    background:var(--orange);
    color:#fff;
    padding:8px 18px;
    border-radius:40px;
    font-size:.8rem;
    font-weight:700;
    letter-spacing:.08em;
    margin-bottom:25px;
}
.flow-icon{
    width:80px;
    height:80px;
    margin:0 auto 15px;
    border-radius:50%;
    background:#fff4ed;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:2rem;
    color:var(--orange);
}
.flow-card h3{
    font-size:1.2rem;
    margin-bottom:15px;
    color:var(--navy);
}
.flow-card p{
	font-size: 14px;
    line-height:1.9;
    color:#666;
}
.flow-message{
    margin-top:70px;
    background:linear-gradient(135deg,var(--orange),#ef7a3d);
    color:#fff;
    border-radius:28px;
    text-align:center;
    padding:55px 35px;
}
.flow-message span{
    display:inline-block;
    background:#fff;
    color:var(--orange);
    padding:8px 20px;
    border-radius:30px;
    font-weight:700;
    margin-bottom:20px;
}
.flow-message h3{
    font-size:2.2rem;
    line-height:1.5;
    margin-bottom:20px;
}
.flow-message p{
    opacity:.95;
    margin:0;
}


.recruit .people{
    position:relative;
    overflow:hidden;
}

.recruit .people::before{
	position: absolute;
    content:"PEOPLE";
    right:-20px;
    top:20px;
    font-size:8rem;
    font-weight:900;
    line-height:1;
    color:rgba(225,89,37,.05);
    pointer-events:none;
}

.recruit .people .section-inner{
    position:relative;
    z-index:2;
}


/*=== FAQ ========================*/
.recruit-faq{
    position:relative;
    overflow:hidden;
    background:#fff;
}

.recruit-faq::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:radial-gradient(#ffd5c2 1.8px, transparent 1.8px);
    background-size:28px 28px;
    opacity:.35;
    pointer-events:none;
	background-repeat: repeat;
}
.recruit-faq::after{
    content:"FAQ";
    position:absolute;
    right:-20px;
    top:20px;
    font-size:8rem;
    font-weight:900;
    line-height:1;
    color:rgba(225,89,37,.05);
    pointer-events:none;
}

.recruit-faq .section-inner{
    position:relative;
    z-index:2;
}
.faq-list{
    margin-top:60px;
}
.faq-list dl{
    background:#fff;
    border-radius:18px;
    margin-bottom:20px;
    overflow:hidden;
    box-shadow:0 8px 25px rgba(0,0,0,.06);
}
.faq-list dt{
    display:flex;
    align-items:center;
    gap:18px;
    padding:22px 30px;
    font-size:1.15rem;
    font-weight:700;
    color:var(--navy);
    cursor:pointer;
}
.faq-list dt span{
	flex:none;
    width:42px;
    height:42px;
    border-radius:50%;
    background:var(--orange);
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:1.1rem;
    font-weight:700;
}
.faq-list dd{
    margin:0;
    padding:0 30px 30px 90px;
    color:#555;
    line-height:1.9;
}

/* CTA */
.faq-cta{
    margin-top:70px;
    background:linear-gradient(135deg,var(--orange),#ef7a3d);
    border-radius:24px;
    color:#fff;
    text-align:center;
    padding:60px 30px;
}
.faq-cta h3{
    font-size:2rem;
    margin-bottom:18px;
}
.faq-cta p{
    line-height:1.9;
    margin-bottom:35px;
	opacity:.95;
}
.faq-cta .btn{
    min-width:280px;
}

/*==========================
Responsive
==========================*/

@media(max-width:1000px){
	
	.flow-grid{ grid-template-columns:repeat(2,1fr); }

}

@media(max-width:992px){

	.recruit-message-wrap{ grid-template-columns:1fr; gap:45px; }
	
	.message-content h3{ font-size:23px; }
	.message-box{ padding:50px 35px;}
	.message-box h3{ font-size:30px;}
	
	.new3k-grid{ grid-template-columns:1fr; }
	.new3k::before{	font-size:4rem;}
	
    .recruit-point-grid{ grid-template-columns:repeat(2,1fr);  }	

}

@media(max-width:767px){
	.message-check { grid-template-columns:1fr;}	
	.message-check li{ padding:18px; font-size:16px; }
	.message-box{ margin-top:60px; padding:40px 25px; }
	.message-box::before{ display:none; }
	.message-box h3{ font-size:26px; }
	
    .faq-list dt{ padding:18px; font-size:1rem; gap:12px; }
    .faq-list dt span{ width:36px; height:36px; }
    .faq-list dd{ padding:0 18px 20px 66px; font-size:.95rem; }
    .faq-cta{ padding:45px 20px; }
   .faq-cta h3{ font-size:1.6rem; }	
	
}
@media(max-width:600px){
	
    .recruit-point-grid{ grid-template-columns:1fr; }
    .info-table th{ width:140px; }
	
	.flow-grid{ grid-template-columns:1fr; }
	.flow-card{ padding:35px 20px; }
	.flow-message{ padding:40px 20px; }
	.flow-message h3{ font-size:clamp(1.3rem, 0.467rem + 3.56vw, 1.8rem); }	

}
@media(max-width:450px){
	.recruit .heading-row h2{font-size: 25px}
    .message-box h3 { font-size: 22px; }
	.message-box p { font-size: 14px; word-break: auto-phrase;}
}
@media(max-width:375px){
	.message-content h3{font-size: 21px}
	.recruit .heading-row h2 { font-size: 23px; }	
	.new3k-heading h2 { font-size: 1.8rem;}
	.new3k-bottom p,.flow-message p,.faq-cta p {font-size: 14px;}
}
/*======================================
	Contact.php
========================================================*/
/* ==== SELECT ========================== */

.select-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
    margin-top:50px;
}

.select-card{
    display:flex;
    align-items:flex-start;
    gap:24px;

    padding:30px;

    background:#fff;
    border-radius:20px;
    border:1px solid #ececec;
    box-shadow:0 8px 25px rgba(0,0,0,.06);

    transition:.3s;
}

.select-card:hover{
    transform:translateY(-5px);
    box-shadow:0 18px 40px rgba(0,0,0,.12);
}

/* 左アイコン */

.select-icon{

    width:80px;
    min-width:80px;
    height:80px;

    border-radius:50%;

    background:var(--orange);

    display:flex;
    justify-content:center;
    align-items:center;

    color:#fff;
    font-size:34px;
}

.entry-card .select-icon{
    background:var(--navy);
}

/* 右側 */

.select-content{

    flex:1;

    display:flex;
    flex-direction:column;

    height:100%;
}

.card-en{

    font-size:.8rem;
    font-weight:700;
    letter-spacing:.15em;
    color:var(--orange);

    margin-bottom:6px;
}

.entry-card .card-en{
    color:var(--navy);
}

.select-content h3{

    font-size:1.45rem;
    line-height:1.5;
    margin-bottom:12px;
}

.select-content p{

    color:#666;
    line-height:1.8;
    margin-bottom:18px;
}

.select-content ul{

    display:flex;
    gap:10px;
    flex-wrap:wrap;

    margin:0;
    padding:0;

    list-style:none;
}

.select-content li{

    background:#fff4e8;
    color:var(--orange);

    padding:6px 12px;

    border-radius:30px;

    font-size:.82rem;
    font-weight:700;
}

.entry-card li{

    background:#eef4fb;
    color:var(--navy);
}

.select-btn{
    margin-top:auto;
    padding-top:20px;
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:10px;
    font-weight:700;
    color:var(--orange);
}

.entry-card .select-btn{
    color:var(--navy);
}

.select-card:hover .select-btn i{
    transform:translateX(5px);
    transition:.3s;
}

/*========================================
CONTACT FORM
========================================*/

.contact-form-section{
    padding:120px 0;
    background:#f8f9fb;
    display:none;
}

.contact-form-section.active{
    display:block;
    animation:fadeUp .4s ease;
}

.select-card.active{
    border-color:var(--orange);
    box-shadow:0 15px 40px rgba(0,0,0,.12);
}

.contact-wrap{
    display:grid;
    grid-template-columns:300px minmax(0,1fr);
    gap:60px;
    align-items:start;
	width: 98%;
	margin: 0 auto;
}

/*==========================
左側
==========================*/

.contact-info{
    position:sticky;
    top:120px;
    align-self:start;
	left: 2%
}

.contact-en{
    display:block;
    margin-bottom:12px;
    color:var(--orange);
    font-size:.85rem;
    font-weight:700;
    letter-spacing:.2em;
}

.contact-info h2{
    font-size:1.8rem;
    line-height:1.5;
    margin-bottom:18px;
    color:var(--navy);
}

.contact-lead{
    margin-bottom:35px;
    color:#666;
    line-height:2;
}

.contact-box{
    border-left:5px solid var(--orange);
    padding-left:25px;
}

.contact-tel{
    margin-bottom:30px;
}

.contact-tel small{
    display:block;
    color:var(--orange);
    font-weight:700;
    margin-bottom:5px;
}

.contact-tel strong{
    display:block;
    font-size:2rem;
    color:var(--navy);
    line-height:1.3;
}

.contact-tel span{
    display:block;
    margin-top:6px;
    color:#777;
}

.contact-point{
    list-style:none;
    margin:0;
    padding:0;
}

.contact-point li{
    position:relative;
    padding-left:22px;
    margin-bottom:12px;
    font-weight:600;
}

.contact-point li::before{
    content:"✓";
    position:absolute;
    left:0;
    color:var(--orange);
}

.contact-time{
    margin-top:30px;
    padding-top:25px;
    border-top:1px solid #ddd;
    color:#666;
    line-height:1.8;
}

.contact-time strong{
    color:var(--orange);
}

/*==========================
フォーム
==========================*/

.contact-form-box{
    background:#fff;
    border-radius:20px;
    padding:50px;
    box-shadow:0 15px 45px rgba(0,0,0,.08);
}

.form-title{
    margin-bottom:40px;
}

.form-title>span{
    display:block;
    color:var(--orange);
    font-size:.85rem;
    font-weight:700;
    letter-spacing:.2em;
    margin-bottom:8px;
}

.form-title h3{
    font-size:2rem;
    margin-bottom:10px;
    color:var(--navy);
}

.form-title p{
    color:#666;
}

/*==========================
フォーム部品
==========================*/

.form-group{
    margin-bottom:28px;
}
.form-group select{
    width:100%;
	height:56px;
    padding:0 18px;
    border:1px solid #ddd;
    border-radius:10px;
    background:#fff;
    font-size:1rem;
    transition:.3s;
}

.form-group select:focus{
    border-color:var(--orange);
    outline:none;
}
.form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:25px;
}

.form-group>label{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:10px;
    font-weight:700;
}

.form-group>label span{
    background:var(--orange);
    color:#fff;
    font-size:.7rem;
    padding:3px 8px;
    border-radius:20px;
}

.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="tel"],
.form-group textarea{
    width:100%;
    padding:15px 18px;
    border:1px solid #ddd;
    border-radius:10px;
    background:#fff;
    font-size:1rem;
    transition:.3s;
}

.form-group input:focus,
.form-group textarea:focus{
    border-color:var(--orange);
    outline:none;
}

.form-group textarea{
    resize:vertical;
    min-height:180px;
}

/*==========================
チェックボックス
==========================*/

.check-list{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.check-list label{
    display:flex;
    align-items:center;
    gap:6px;
    font-weight:500;
    cursor:pointer;
}

/*==========================
ボタン
==========================*/

.form-submit{
    margin-top:40px;
    text-align:center;
}

.form-submit .btn{
    min-width:320px;
}


/*=== Privacy Policy ===================*/

.privacy-section{
    padding:120px 0;
    background:var(--cream);
}
.privacy-section .section-inner{
	width: 98%;
	margin: 0 auto;
	
}
.privacy-box{
    margin-top:50px;
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
}

/*--- Button ----------*/

.privacy-toggle{
    width:100%;
    padding:30px 40px;
    background:#fff;
    border:none;
    display:flex;
    justify-content:space-between;
    align-items:center;
    cursor:pointer;
    transition:.3s;
}
.privacy-toggle:hover{
    background:#fafafa;
}
.privacy-toggle span{
    font-size:1.2rem;
    font-weight:700;
    color:var(--navy);
}
.privacy-toggle i{
    font-size:1.2rem;
    color:var(--orange);
    transition:.35s;
}

/*-- Open ------*/

.privacy-box.active .privacy-toggle i{
    transform:rotate(180deg);
}

/*-- Content ------*/

.privacy-content{
    max-height:0;
    overflow:hidden;
    transition:max-height .5s ease;
    padding:0 40px;
}
.privacy-box.active .privacy-content{
    max-height:2500px;
    padding:10px 40px 40px;
}
.privacy-content>p{
    color:#666;
    line-height:2;
    margin-bottom:35px;
}

/*----*/

.privacy-content dl{
    margin-bottom:28px;
    padding-bottom:28px;
    border-bottom:1px solid #ececec;
}
.privacy-content dl:last-child{
    margin-bottom:0;
    padding-bottom:0;
    border:none;
}
.privacy-content dt{
    position:relative;
    padding-left:18px;
    margin-bottom:15px;
    font-size:1.15rem;
    font-weight:700;
    color:var(--navy);
}
.privacy-content dt::before{
    content:"";
    position:absolute;
    left:0;
	top:.45em;
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--orange);
}
.privacy-content dd{
    margin:0;
    color:#666;
    line-height:2;
}

.privacy-content ul{
    margin:15px 0 0 20px;
}
.privacy-content li{
    margin-bottom:8px;
}

/*==========================
SP
==========================*/

/*--　Tablet -------------*/

@media(max-width:900px){
    .select-grid{
        grid-template-columns:1fr;
    }
    .contact-wrap{
        grid-template-columns:1fr;
        gap:45px;
    }

    .contact-info{
        position:static;
    }

    .contact-form-box{
        padding:35px 25px;
    }

    .form-row{
        grid-template-columns:1fr;
        gap:0;
    }	
}



@media (max-width:767px){
    .select-card{
        padding:24px;
        gap:18px;
    }
    .select-icon{
        width:60px;
        min-width:60px;
        height:60px;
        font-size:26px;
    }
    .select-content h3{
        font-size:1.2rem;
    }	
	
	/*--*/
	.privacy-toggle{

        padding:22px 20px;

    }

    .privacy-toggle span{

        font-size:1rem;

        text-align:left;

    }

    .privacy-content{

        padding:0 20px;

    }

    .privacy-box.active .privacy-content{

        padding:10px 20px 30px;

    }

    .privacy-content dt{

        font-size:1rem;

    }

}
@media (max-width:440px){
	.select-card{
		flex-direction: column;
		align-items: center;
	}
}


/*---　Thanks　-------------------------*/

.thanks-icon{
	width:84px;
	height:84px;
	margin:0 auto 30px;
	border-radius:50%;
	background:var(--orange);
	display:flex;
	align-items:center;
	justify-content:center;
	box-shadow:0 15px 35px rgba(225,89,37,.3);
}

.thanks-icon i{
	font-size:34px;
	color:#fff;
}

.thanks-page{
	text-align:center;
}

.thanks-page h2{
	color:var(--navy);
	font-size:clamp(1.5rem, 0.285rem + 1.96vw, 2rem);
	margin-bottom:20px;
}

.thanks-page p{
	color:#555;
	line-height:2;
	max-width:640px;
	margin:0 auto 40px;
}

.thanks-actions{
	display:flex;
	justify-content:center;
	gap:20px;
	flex-wrap:wrap;
}

/*---　受付の流れ　-------------------------*/

.thanks-flow .strength-list{
	margin-top:50px;
}

.thanks-flow .strength-item:last-child{
	border-bottom:none;
}

/*==========================
	Thanks.php　responsive
===============================================*/

/*---  SP　-------------*/

@media (max-width:767px){	
	.thanks-icon{
		width:68px;
		height:68px;
		margin-bottom:24px;
	}
	.thanks-icon i{
		font-size:28px;
	}
	.thanks-actions{
		flex-direction:column;
		width:100%;
	}
	.thanks-actions .btn{
		width:100%;
	}
}

/*======================================
	News.php（お知らせ詳細）
========================================================*/
.news-article{
	max-width:860px;
	margin:0 auto;
}

.news-article__head{
	display:flex;
	align-items:center;
	gap:16px;
	margin-bottom:18px;
}

.news-category{
	padding:6px 18px;
	border-radius:50px;
	background:var(--cream);
	color:var(--orange);
	font-weight:700;
	font-size:.85rem;
	letter-spacing:.05em;
}

.news-category.cat-1{
	background:var(--navy);
	color:#fff;
}

.news-article__head time{
	font:700 clamp(0.95rem, 0.708rem + 0.39vw, 1.05rem) "Barlow Condensed",sans-serif;
	color:#999;
	letter-spacing:.03em;
}

.news-article h2{
	font-size:clamp(1.3rem, 0.976rem + 1.37vw, 2rem);
	line-height:1.55;
	font-weight:800;
	color:var(--navy);
	margin-bottom:35px;
	padding-bottom:30px;
	border-bottom:1px solid #eee;
}

.news-article__body{
	line-height:2.1;
	color:#444;
	font-size:1.05rem;
}

.news-article__body p{
	margin-bottom:1.6em;
}

.news-body-image{
	margin:35px 0;
    max-width: 680px;
}

.news-body-image img{
	width:100%;
	border-radius:16px;
	display:block;
	box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.news-body-file{
	margin:25px 0;
}

.news-body-file a{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:12px 22px;
	border-radius:50px;
	background:var(--cream);
	color:var(--orange);
	font-weight:700;
	transition:.25s;
}

.news-body-file a:hover{
	background:var(--orange);
	color:#fff;
}

.news-article__foot{
	margin-top:60px;
	padding-top:35px;
	border-top:1px solid #eee;
	display:flex;
	justify-content:center;
}

/*---　見つからない場合　-------------------------*/

.news-notfound{
	text-align:center;
	padding:40px 0;
}

.news-notfound h2{
	color:var(--navy);
	font-size:clamp(1.4rem, 0.5rem + 2vw, 2rem);
	margin:15px 0 20px;
}

.news-notfound p{
	color:#555;
	line-height:2;
	margin-bottom:35px;
}

/*==========================
	News.php　responsive
===============================================*/
/*--　Tablet -------------*/
@media (max-width:991px){
	.news-article h2{
		margin-bottom:30px;
		padding-bottom:26px;
	}
}

/*---  SP　-------------*/
@media (max-width:767px){
	.news-article__head{
		gap:12px;
	}
	.news-category{
		padding:5px 14px;
		font-size:.78rem;
	}
	.news-article h2{
		margin-bottom:24px;
		padding-bottom:20px;
	}
	.news-article__body{
		font-size:1rem;
		line-height:1.9;
	}
	.news-body-image{
		margin:26px 0;
	}
	.news-article__foot{
		margin-top:45px;
		padding-top:28px;
	}
	.news-article__foot .btn{
		width:100%;
	}
}