:root {
  --primary-color: #549a19;
}



body{font-family: 'Noto Sans JP', sans-serif;font-size: clamp(1.0625rem, 0.9236rem + 0.4444vw, 1.3125rem);/*21/17*/ font-weight:500; line-height:2.3; color:#1A1A1A;  letter-spacing:2px;font-feature-settings: "palt";overflow-y: scroll;}

@media screen and (max-width: 768px) {
body{font-size:15px;line-height:1.8; letter-spacing:1px; overflow-x: hidden; }
}
.site_logo img{position:fixed; top:14px; left:20px; z-index:3}
.global_inner{max-width:1200px;margin:0 auto; position:relative;padding: 0 20px;}
h1,h2,h3,h4,h5,h6{line-height:1;}


h2{font-weight: 700;font-size: clamp(1.25rem, 0.8333rem + 1.3333vw, 2rem);/*32/20*/ margin-bottom:40px;}
h3{ font-size:24px;margin-bottom:15px;}

img{width:100%; height:auto;}
a{transition:0.4s all;}
a img{transition:0.4s all;}
a img:hover{transform: scale(1.10);transition:0.4s all; letter-spacing:2px;}
a img.no-zoom:hover{transform: scale(1.0);}
a:hover{transition:0.4s all;}
a:hover img{transform: scale(1.10);}
.box{display:flex;justify-content: space-between; }
.text{  font-weight:400;}

@media screen and (max-width: 768px) {
.global_inner{width:94%;padding: 0 3%; }
.box{flex-direction: column; }
h1,h2,h3,h4,h5,h6{line-height:1.5;}
h2{margin-bottom:20px;}
img{vertical-align: top;}
}

/*====================
ハンバーガーメニュー
=====================*/
header{height:auto; position:fixed;z-index:10; top:0px;left:100px;font-family: "Zen Old Mincho", serif; background:#000; width:300px; height:45px;display:flex; align-items: center; padding-left:20px;}
header .logo{}
header .logo a{display: flex;    align-items: center;}
header .logo img{height:auto; width:200px;transition:0.4s all; vertical-align:middle;}
header .logo img:hover{transform: scale(1.0); opacity:0.8;transition:0.4s all;}
header .logo h1{margin-bottom:0;    display: flex;    align-items: center; height:100%;}

nav {display: block;  position: fixed;  top: -100%;  left: 100px;  bottom: 0;  width: 300px;	background-color:#000;  	-webkit-overflow-scrolling: touch;  transition: all 0.5s;  z-index: 102;  visibility: hidden;}
.open nav {left: 100px;  opacity: 1;  top:0px;  width:300px; min-width:300px;box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.08); visibility:visible; margin-top:45px;}
nav .inner {	height: 100%;		width: 100%;overflow: auto; padding-top:0px;}
nav .inner .box{width: 100%;}
nav .inner .box .item{padding-left: 0px;width: 100%;}
nav .inner .box .item ul{margin-bottom:20px;width: 100%; }
nav .inner .box .item ul li{line-height: 1.3; font-size:16px; display: block;  overflow: hidden;   z-index:0;position: relative;    text-align: left;  font-family: "Zen Maru Gothic", sans-serif;
}
nav .inner .box .item ul li:last-child{border:none;}

nav .inner .box .item ul li:before{content:'';width: 12px;height: 0.5px;background-color: #000;display:  block;position: absolute;top: 50%;left: 5px;transform: translateY(-50%);-webkit-transform: translateY(-50%);-ms-transform: translateY(-50%);}
nav .inner .box .item ul li a{ display:block;padding-left:40px; padding-top:15px; padding-bottom:15px; color:#FFF; 
position: relative;	overflow: hidden;    transition: ease .2s; border-bottom:solid 1px #4a4a4a; line-height:1.2;}
nav .inner .box .item ul li a span{position: relative;	z-index: 3;	}


nav .inner .box .item ul li a:hover{ transition: all 0.3s;color:#000;}
nav .inner .box .item ul li a:before { 	content: '';position: absolute;top: 0;left: 0;z-index: 2;background:#FFF;width: 100%;height: 100%;transition: transform .4s cubic-bezier(0.8, 0, 0.2, 1) 0s;transform: scale(0, 1);	transform-origin: right top; }

nav .inner .box .item ul li a:hover:before{	transform-origin:left top;	transform:scale(1, 1); z-index:-1;}

nav .inner .box .item ul li.title{font-size:15px;  }
nav .inner .box .item ul li.title span{display:block; margin-top:5px;letter-spacing:0px; font-size:15px; font-weight:bold; margin-bottom:5px; }
nav .inner .box .item ul li.title:before{content:none;}
nav .inner .box .item ul li.title a:after{font-size:14px; display:block; font-weight:normal;z-index: 3; padding-left:3px; position:relative;}
nav .inner .box .item ul li:last-child{margin-bottom:0px;}






@media screen and (max-width: 768px) {
header{ left:0; width:100%;}
header .logo{height:50px;display: flex;align-items: center;}
header .logo img{height:20px; width:auto;}
header .btn_entry{height:50px; position:fixed; left:220px; top:0;}
header .btn_entry img{height:100%; width:auto;}
.open nav {left: unset; right:0;width: 250px;}

}


/*============
ハンバーガーメニューのトグル
=============*/
.toggle_btn {  display: block;   height: 50px; width:50px;  transition: all .5s;  cursor: pointer;  z-index: 103; position:absolute; top:8px;right: 10px;   }
.toggle_btn:before{content:"MENU"; position:absolute; top:-4px; left:14px; font-size:8px; color:#FFF;font-family: 'Noto Sans JP', sans-serif; font-weight:300;}

.toggle_btn span {  display: block;  position: absolute;   width: 20px;  height: 1px;  background-color: #FFF;  border-radius: 4px;  transition: all .5s;left: 16px;}
.toggle_btn span:nth-child(1) {  top: 15px;}
.toggle_btn span:nth-child(2) {  top: 20px;}
.toggle_btn span:nth-child(3) {  top: 25px;}
.open .toggle_btn{}
.open .toggle_btn span {  background-color: #FFF;}
.open .toggle_btn span:nth-child(1) {  transform: translateY(10px) rotate(-315deg);top: 9px;}
.open .toggle_btn span:nth-child(2) {  opacity: 0;}
.open .toggle_btn span:nth-child(3) {  transform: translateY(-10px) rotate(315deg);top: 29px;}

@media screen and (max-width: 768px) {
.toggle_btn{right:10px; left:unset; top:10px;}
}
/*============
ハンバーガーメニューのマスク
=============*/
#mask {display: none;  transition: all .5s;}
.open #mask {  display: block;  position: fixed;  top: 0;  right: 0;  width: 100%;  height: 100%;  /*background: #000;*/  opacity: .8;  z-index: 101; }



/*====================
メインビジュアル
=====================*/
.kv{ position:relative;width: 100%;height: 100vh; overflow: hidden; color:#FFF;}
.kv video {position: absolute;top: 50%;left: 50%;transform: translateX(-50%) translateY(-50%);width: 100vw;height: 100vh;object-fit: cover; }
.kv img{position:absolute; bottom:-1px; left:0;}


@media screen and (max-width: 768px) {
.kv{height:auto; overflow:visible;}
.kv video{height: auto; position:static;width: 100%; transform:none; padding-top:45px;}

}


/*====================
トップ：カテゴリエリア
=====================*/
.top_col2{ color:#FFF; letter-spacing:3px; padding:100px 0;}
.top_col2 h2{line-height:1.5;}
.top_col2 .box{justify-content: center;align-items: center;}

.top_col2.about{background:#549a19;}
.top_col2.about .text_area{padding-top:40px;}

.top_col2.support{background:#f0a032;}
.top_col2.group{background:#29abe2;}
.top_col2.dayservice{background:#f15a24;}


.top_col2 .photo{padding-right:10%; width:50%; text-align:right;height:100%; display:flex;align-items: center;justify-content: flex-end;}
.top_col2 .photo img{ max-width:500px;}
.top_col2 .text_area{width:50%;}
.top_col2 .text_area .text{font-size: clamp(1rem, 0.8264rem + 0.5556vw, 1.3125rem);/*21/16*/ font-weight:300; line-height:2; margin-top:60px;}
.top_col2 .text_area .copy{margin-top:80px; margin-bottom:0;}
.top_col2 .text_area .copy img{height:60px; width:auto;}


.top_col2 .photo .to-visual{
  position:relative;
  width:100%;
  max-width:500px;
  aspect-ratio:549.65/678.88;
  --to-shape-color:#fff;
  --to-appear:.8s;   /* 既存 fadeup の transition 時間に合わせる */
  --to-hold:.3s;
  --to-fade:1.4s;
  /* opacity:0 と transition は削除（fadeup と二重になるため） */
}

.top_col2 .photo .to-visual__shape,
.top_col2 .photo .to-visual__photo{ position:absolute; inset:0; width:100%; height:100% }
.top_col2 .photo .to-visual__shape path{ fill:var(--to-shape-color) }

.top_col2 .photo .to-visual__photo{
  max-width:none;
  object-fit:contain;
  opacity:0;
  transition:opacity var(--to-fade) ease;
}

/* isShow が .photo に付く場合／.to-visual に付く場合の両方に対応 */
.top_col2 .photo.isShow .to-visual__photo,
.top_col2 .photo .to-visual.isShow .to-visual__photo{
  opacity:1;
  transition-delay:calc(var(--to-appear) + var(--to-hold));
}

@media (prefers-reduced-motion:reduce){
  .top_col2 .photo .to-visual__photo{ opacity:1; transition:none }
}

@media (prefers-reduced-motion:reduce){
  .top_col2 .photo .to-visual,
  .top_col2 .photo .to-visual__photo{ opacity:1; transform:none; transition:none }
}

@media screen and (max-width: 768px) {
.top_col2{padding:30px 0;}
.top_col2 .box{padding-top:20px; padding-bottom:20px;}
.top_col2 .photo{padding-right:0;    width: 60%;}
.top_col2 .text_area{width:100%; margin-top:40px;}
.top_col2 .text_area .copy img{height:auto; width:100%; max-width:500px;}
.top_col2 .text_area .text{margin-top:30px;}
.top_col2 .text_area .copy{margin-top:40px;}
.top_col2.support .box{flex-direction: column-reverse;}
.top_col2.support .box .text_area{padding-top:0px;}
.top_col2.dayservice .box{flex-direction: column-reverse;}


}


/*====================
トップ：事業所紹介
=====================*/
.top_office{padding:80px 0;}
.top_office h2{font-size: clamp(1.875rem, 1.4349rem + 1.4085vw, 3.125rem);/*50/30*/ white-space:nowrap; }
.top_office h2 span{font-size: clamp(1.625rem, 1.493rem + 0.4225vw, 2rem);/*32/26*/ display:block; margin-bottom:10px;}

.top_office .box{justify-content: flex-start;}
.top_office .box h2{padding-top:130px;}
.top_office .box .photo{width:65%;}

@media screen and (max-width: 768px) {
.top_office{padding:40px 0;}
.top_office .box h2{padding-top:0px;}
.top_office .box .photo{width:100%;}
}






/*====================
ニュースリスト
=====================*/
.news_list{padding:50px 0; margin-top:0;}
.news_list.top .item{width:70%;margin-left:unset; margin-right:unset;}
.news_list .item{margin-left:auto; margin-right:auto;width:70%;}

.news_list .item .heading{display:flex; align-items: center; margin-bottom:40px}
.news_list .item .heading h2{font-size: clamp(1.125rem, 0.9167rem + 0.6667vw, 1.5rem);/*24/18*/ display:flex; align-items: center; line-height:1; margin-bottom:0;}
.news_list .item .heading h2 span{ font-size: clamp(2.25rem, 1.8333rem + 1.3333vw, 3rem);/*48/36*/ margin-right:20px;}
.news_list .item .heading .viewmore{margin-top:0; margin-left:40px;}

.news_list .item dl{display:flex; border-bottom:solid 1px #000; padding:10px 0;}
.news_list .item dl dt{width:150px;}

.news_list .copy img{width:180px;}
.news_list .viewmore{text-align:center;}


@media screen and (max-width: 768px) {
.news_list{padding:0px 0;}
.news_list .item{width:100%;}
.news_list .item .heading{flex-direction: column;    align-items: self-start;}
.news_list .item .heading .viewmore{margin-left:0; margin-top:20px;}
.news_list.top .item{width:100%;}
.news_list .item dl{flex-direction: column;}
.news_list .copy{width:150px; margin-left:auto; margin-right:auto; margin-top:20px;}
.news_list .copy img{width:100%;}
}



/*====================
ニュース詳細
=====================*/
.news_detail .heading{ border-bottom:solid 3px var(--primary-color);display:flex; padding-bottom:15px; margin-bottom:60px;}
.news_detail .heading .date{ margin-right:40px;}
.news_detail .heading h1{font-size: clamp(1.75rem, 1.4722rem + 0.8889vw, 2.25rem) /*36/28*/;}
.news_detail h2{font-size: clamp(1.375rem, 1.1667rem + 0.6667vw, 1.75rem);/*28/22*/ color:var(--primary-color);}
.news_detail h3{font-size: clamp(1.375rem, 1.1667rem + 0.6667vw, 1.75rem);/*28/22*/ margin-bottom:25px;}
.news_detail h4{font-size: clamp(1.25rem, 1.1111rem + 0.4444vw, 1.5rem);/*24/20*/ color:var(--primary-color); margin-bottom:20px; }
.news_detail h5{font-size: clamp(1.25rem, 1.1111rem + 0.4444vw, 1.5rem);/*24/20*/margin-bottom:15px;}






.news_detail .photo {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 200'%3E%3Cpath d='M40,10 Q150,-5 260,8 Q298,15 295,100 Q298,185 255,192 Q150,205 45,193 Q2,188 5,100 Q2,18 40,10 Z' fill='black'/%3E%3C/svg%3E");
  mask-size: 100% 100%; margin-bottom:60px;
}
@media screen and (max-width: 768px) {
.news_detail .heading{flex-direction: column; align-items: flex-start; padding:10px 0px;}
.news_detail .item{ padding:20px 25px;}
}

/*====================
トップ：情報公開一覧
=====================*/
.top_disclosure{margin-top:60px;}
.top_disclosure .heading{display:flex; align-items: center; margin-bottom:40px}
.top_disclosure .heading h2{font-size: clamp(1.125rem, 0.9167rem + 0.6667vw, 1.5rem);/*24/18*/ display:flex; align-items: center; line-height:1; margin-bottom:0;}
.top_disclosure .heading h2 span{ font-size: clamp(2.25rem, 1.8333rem + 1.3333vw, 3rem);/*48/36*/ margin-right:20px;}
.top_disclosure .heading .viewmore{margin-top:0; margin-left:40px;}

@media screen and (max-width: 768px) {
.top_disclosure .heading{flex-direction: column;align-items: flex-start;}
.top_disclosure .heading h2{flex-direction: column;align-items: flex-start;}
.top_disclosure .heading h2 span{display:block; margin-bottom:10px; font-size:27px; margin-right:0;}
.top_disclosure .heading .viewmore{margin-left:0; margin-top:20px;}
}
/*====================
トップ：お問合せ
=====================*/
.top_contact{padding:100px 0;}
.top_contact .box{justify-content: flex-start;align-items: center;}
.top_contact .box h2{margin-right:40px;}
.top_contact .box .text_area{ line-height:1;}
.top_contact .box .text_area .copy{font-size: clamp(1.75rem, 1.5764rem + 0.5556vw, 2.0625rem);/*33/28*/font-weight:800; letter-spacing:5px;}
.top_contact .box .text_area .tel{font-size: clamp(4.375rem, 3.6806rem + 2.2222vw, 5.625rem);/*90/70*/ margin-top:20px;font-family: "Roboto", sans-serif;font-weight:800; letter-spacing:-1px;}
.top_contact .box .text_area .text{ letter-spacing:4px; margin-top:20px; line-height:1.5; font-weight:500; font-size:17px;}

@media screen and (max-width: 768px) {
.top_contact{padding:50px 0;}
.top_contact .box h2{margin-right:0;}
.top_contact .box .text_area .copy{font-size:22px;}
.top_contact .box .text_area .tel{font-size:55px;}
}
/*====================
下層：とらくろについて
=====================*/
.aboutus{background:#549a19; color:#FFF; padding-bottom:100px;}
.aboutus .head{ width:80%; margin-left:auto;}

.aboutus h2{ font-size: clamp(2.5rem, 1.8056rem + 2.2222vw, 3.75rem);/*60/40*/}
.aboutus h2 span{font-size: clamp(1.75rem, 1.4722rem + 0.8889vw, 2.25rem) /*36/28*/;}
.aboutus h3{ margin-top:80px;font-size: clamp(1.625rem, 1.4167rem + 0.6667vw, 2rem);/*32/26*/margin-bottom:40px;}
.aboutus h4{ margin-top:60px;font-size: 24px;margin-bottom:10px;}
.aboutus h5{ margin-top:60px;font-size: 21px;margin-bottom:15px;}
.aboutus .copy{font-size:21px; color:#ffff00; margin-top:60px; margin-bottom:40px;}
.aboutus .philosophy{ text-align:center;}
.aboutus .philosophy .photo_image{margin-top:100px; margin-bottom:150px;}
.aboutus .philosophy h2{ margin-top:0px;font-size:32px;}

.aboutus .photo_image2{margin:40px auto 80px auto; width:300px;}

.aboutus .company{margin-top:100px;}
.aboutus .company h2{font-size:24px; border-bottom:solid 3px #FFF; padding-bottom:15px; margin-bottom:20px;}
.aboutus .company table{ border-bottom:solid 3px #FFF;}
.aboutus .company table th{font-size:21px;font-weight: 300; width:170px;line-height: 2.7;}
.aboutus .company table td{}
.aboutus .company table td span{font-size:21px;}

.aboutus .access{margin-top:100px;}
.aboutus .access h2{font-size: clamp(3.75rem, 2.9861rem + 2.4444vw, 5.125rem);/*82/60*/}
.aboutus .access .map{position:relative;}
.aboutus .access .map:before {
    content: "";
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background: linear-gradient(rgba(84, 154, 25, 0.15), rgba(84, 154, 25, 0.15));pointer-events: none; z-index:1;
}
.aboutus .access .map iframe{border-radius:25px; overflow:hidden; margin-bottom:40px;}


@media screen and (max-width: 768px) {
.aboutus{padding-bottom:50px;}
.aboutus .head{ width:90%; margin-left:auto; margin-right:auto; padding-top:60px; margin-bottom:20px;}
.aboutus .copy{margin-top:30px; margin-bottom:20px;}
.aboutus .philosophy .photo_image{margin-top:50px; margin-bottom:75px;}
.aboutus h2{font-size:30px;}
.aboutus h3{margin-top:40px; margin-bottom:30px; font-size:20px;}
.aboutus h4{margin-top:40px;}
.aboutus .photo_image2{margin-bottom:40px; width:70%; max-width:250px;}
.aboutus .company{margin-top:50px;}
.aboutus .company h2{margin-bottom:10px;}
.aboutus .company table th{line-height:1.5;}
.aboutus .company table td{padding-bottom:10px;}
.aboutus .access{margin-top:50px;}
}



/*====================
下層：就労支援
=====================*/
.support{background:#f0a032; color:#FFF;padding-bottom:100px;}
.support .head{ padding-top:60px;}
.support .text{margin-bottom:80px;}
.support .introduction .box .text_area{width:65%;}
.support .introduction .box .photo{width:35%; margin-top:-200px;}
.support .copy{font-size: clamp(2.5rem, 1.8056rem + 2.2222vw, 3.75rem);/*60/40*/ font-weight:700; margin-bottom:60px; line-height:1;}
.support .photo_image{margin:100px 0;}

.support .flow{margin-top:120px;}

.support .schedule{margin-top:120px; margin-bottom:100px;}
.support .schedule h3{border-bottom:solid 2px #FFF;padding-bottom:20px;}
.support .schedule table{margin-bottom:60px;}
.support .schedule th{width:20%;}
.support .schedule th,.support .schedule td{padding-bottom:30px;}

@media screen and (max-width: 768px) {
.support{padding-bottom:40px;}
.support .introduction{margin-top:40px;}
.support .text{margin-bottom:40px;}
.support .copy{margin-bottom:30px; margin-top:40px; font-size:30px;}
.support .introduction .box .text_area{width:100%;}
.support .introduction .box .photo{margin-top:0px;width:60%; max-width:300px; margin-left:auto; margin-right:auto;}
.support .photo_image{margin:50px 0;}
.support .flow{margin-top:60px;}
.support .schedule{margin-top:60px; margin-bottom:60px;}
.support .schedule th{width:100%; padding-bottom:0px;}
}

/*====================
下層：グループホーム
=====================*/
.group{ background:#29abe2;color:#FFF;padding-bottom:100px;}
.group .head{ width:75%; margin:0 auto;}
.group .introduction{margin-top:-25%;}
.group .photo_image{margin:100px 0 150px 0;}
.group .flow{margin-top:100px;}
.group .usage{margin-top:100px;}
.group .usage .text{margin-bottom:60px;}
.group .link{max-width:300px; margin:80px auto 60px auto;}

.group .schedule table{margin-bottom:60px;}
.group .schedule th{width:20%;}
.group .schedule th,.support .schedule td{padding-bottom:30px;}

@media screen and (max-width: 768px) {
.group{padding-bottom:50px;}
.group .head{width:90%; max-width:400px; padding-top:50px;}
.group .photo_image{margin:50px 0 75px 0;}
.group .flow{margin-top:60px;}
.group .schedule{margin-top:60px; margin-bottom:60px;}
.group .usage{margin-top:50px;}
.group .schedule th{width:100%; padding-bottom:0px;}

}


/*====================
下層：英才療育
=====================*/
.education{background:#f15a24; color:#FFF;padding-bottom:100px;}
.education .head{width:90%; margin-left:auto;}
.education .text{margin-bottom:60px;}
.education .photo_image{margin:100px 0 150px 0;}
.education .flow{margin-top:100px;}
.education .usage{margin-top:100px;}
@media screen and (max-width: 768px) {
.education{padding-bottom:50px;}
.education .head{width:90%; margin-left:auto; margin-right:auto; margin-bottom:20px;}
.education .photo_image{margin:50px 0 75px 0;}
.education .text{margin-bottom:40px;}
.education .flow{margin-top:50px;}
.education .usage{margin-top:50px;}
}



/*====================
事業所（一覧）
=====================*/
.facility{text-align:center; padding-bottom:100px;}
.facility .facility-section{margin-bottom:80px;}
.facility .facility-section h2{ color:var(--primary-color); margin-bottom:60px;}

.facility .box{display:flex;flex-wrap: wrap;justify-content: center;}
.facility .box .item{margin-left:5%; margin-right:5%; margin-bottom:60px; width:40%;}
.facility .box .item img{max-height:350px; width:auto;}
.facility .box .item h3{font-size: clamp(1rem, 0.625rem + 0.8571vw, 1.375rem);/*22/16*/}
.facility .box .item .photo{margin-bottom:30px;}

@media screen and (max-width: 768px) {
.facility{padding-bottom:50px;}
.facility .facility-section{margin-bottom:40px;}
.facility .facility-section h2{margin-bottom:30px;}
.facility .box .item{margin-left:auto; margin-right:auto; margin-bottom:60px; width:100%;}
.facility .box .item img{height:auto; width:80%; max-width:350px;}

}



/*====================
事業所（詳細）
=====================*/
.facility_detail{ padding-bottom:100px;}
.facility_detail h2{text-align:center; border-bottom:solid 3px var(--primary-color); padding:15px;}
.facility_detail h3{font-size:21px; color:var(--primary-color);}
.facility_detail .photo{width:80%; margin:0 auto 40px auto;}
.facility_detail .text{margin-bottom:60px;}
.facility_detail .text.address{font-weight:500; font-size:24px;}
.facility_detail p{margin-bottom:40px;}
.facility_detail .viewmore{text-align: center;}

@media screen and (max-width: 768px) {
.facility_detail{ padding-bottom:50px;}
.facility_detail h2{padding-left:0; padding-right:0;}
.facility_detail .text.address{font-size: clamp(1.0625rem, 0.9236rem + 0.4444vw, 1.3125rem);/*21/17*/}
}


/*====================
情報公開
=====================*/
.disclosure{background:var(--primary-color); position:relative;padding-bottom:100px;}
.disclosure .heading{}
.disclosure .body{
  background:#FFF;
  padding:0 100px;
  position:relative;
  display:flow-root;   /* ← 子のマージンが外に伝わるのを防ぐ */
}
.disclosure .body .inner{
  width:80%;
  margin-left:auto;
  margin-right:auto;
  position:relative;
  margin-top:-250px;
  min-height:100px;
}
.disclosure .body h2{ border-bottom:solid 3px var(--primary-color); padding-bottom:15px; width:100%;font-size: clamp(1.125rem, 0.75rem + 0.8571vw, 1.5rem);/*24/18*/ margin-top:100px;}
.disclosure .body h3{margin-bottom:25px;margin-top:60px; font-weight:600;}
.disclosure .body h4{color:var(--primary-color);margin-bottom:25px; margin-top:40px;font-weight:600;}
.disclosure .item{display:flex;align-items: center; margin-bottom:20px;}
.disclosure .item .icon{width:60px; margin-right:40px;}
.disclosure .item .text_area{width:calc(100% - 100px); font-size:16px;}
.disclosure .item .text_area .date{ line-height:1; margin-bottom:10px;}
.disclosure .foot{ position:relative;}
.disclosure .foot .viewmore{position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);}

@media screen and (max-width: 768px) {
.disclosure .body{  padding:0 10px;}
.disclosure .body .inner{ width:90%;}
.disclosure .item{border-bottom:solid 1px var(--primary-color); padding-bottom:10px;}
.disclosure .item h5{font-size:14px;}
.disclosure .item .text_area .date{font-size:14px;}
.disclosure .body{margin-top:-2px;}
.disclosure .body .inner{  margin-top:-130px;}
.disclosure .body h3{font-size:20px; }
.disclosure .body h4{margin-top:20px;}
.disclosure .foot{margin-top:-2px;}
.disclosure .foot .viewmore{margin-top:0;}
.head_solid h1 span{ display:block;    margin-right: 0px !important; font-size:26px !important;}
}



/*====================
下層：共通部品
=====================*/
.text.arrow_down{ position:relative; border-bottom:solid 2px #FFF; padding-bottom:15px; margin-bottom:60px;}

.text.arrow_down::after {
  content: "";
  background:url(/wp-content/themes/torakuro/assets/image/ic_arrow_down_white.svg) no-repeat; 
  position: absolute;
  left: 50%; transform: translateX(-50%);          /* 右端からの位置調整 */
  bottom: -30px;            /* 上下中央寄りに配置 */
  width: 30px; 
  height: 30px;
}

.faq{margin-top:100px;}
.faq h2 span{font-size: clamp(3.75rem, 3.0556rem + 2.2222vw, 5rem);/*80/60*/ margin-right:30px;}
.faq dl{display:flex; margin-bottom:40px;}
.faq dl:nth-child(odd){margin-bottom:60px;}
.faq dl dt{width:60px;font-size: clamp(1.875rem, 1.3194rem + 1.7778vw, 2.875rem);/*46/30*/ line-height:1;}
.faq dl dd{width:calc(100% - 60px);}

.head_green{width:80%; margin:0 auto; position:relative; color:#FFF; margin-bottom:60px;}
.head_green h1{position: absolute;top: 40%;left: 50%;transform: translate(-50%, -50%);font-size: clamp(2.1875rem, 1.4931rem + 2.2222vw, 3.4375rem);/*55/35*/ text-align:center;}
.head_green h1 span{display:block; margin-bottom:5%;font-size: clamp(1.625rem, 1.2778rem + 1.1111vw, 2.25rem);/*36/26*/}

.head_solid{background:var(--primary-color); height:200px;display:flex;justify-content: center;align-items: flex-end; color:#FFF; margin-bottom:100px;}
.head_solid h1 span{margin-right:20px;font-size: clamp(2.25rem, 1.5rem + 1.7143vw, 3rem);/*48/36*/ }


.anchor{font-size:18px; display:flex;justify-content: center;flex-wrap: wrap; margin-bottom:100px;}
.anchor a:after{content:"｜";}
.anchor a:last-child:after{content:none;}


@media screen and (max-width: 768px) {
.text.arrow_down{  margin-bottom:40px;}
.faq{margin-top:50px;}
.faq dl dt{line-height:0.8;}
.faq dl:nth-child(odd) dt{padding-left:2px;}
.anchor{font-size:15px; margin-bottom:50px;flex-direction: column;align-items: flex-start;}
.anchor a:after{content:"▼";}
.anchor a:last-child:after{content:"▼";}
.head_green{width:90%; margin:0 auto;margin-bottom:60px; padding-top:45px;}
.head_green h1{font-size:30px;top: 60%;}
.head_green h1 span{font-size: 15px;margin-bottom:5px;}
.head_solid{height:150px; margin-bottom:50px;}

}


/*====================
下層：アコーディオン
=====================*/
.accordion-container{margin-top: 40px;}
.accordion-container .item{ }
.accordion-container .item:first-child{}
.accordion-container .item h3.js-accordion-title{position:relative;transition:0.4s all;display:block;font-size:24px;color:#FFF; background:var(--primary-color);margin-bottom:0; padding:25px 70px 25px 35px; margin-top:30px; display:flex;align-items: center;}
.accordion-container .item h3.js-accordion-title:hover{cursor:pointer;}
.accordion-container .item h3.js-accordion-title::before{/* 閉じている時 */	content: "";position: absolute;background:url(/wp-content/themes/nes-co-recruit/assets/image/ic_arrow_down.svg) no-repeat; width: 34px;  height: 17px;  transition: all .5s;top: 33px; right:25px;}
.accordion-container .item h3.js-accordion-title.open{}
.accordion-container .item h3.js-accordion-title.open::before{/* 開いている時 */	content: "";	transition: all .3s ease-in-out;  transform: rotate(180deg);top: 30px; right:25px;}
.accordion-container .item .accordion-content{transition: max-height 0.3s ease; background:#FFF; padding:30px 40px;}

.accordion-container table{margin-top:0;}
.accordion-container table th, .accordion-container table td{ border-bottom:solid 1px var(--primary-color);border-top:none;}


@media screen and (max-width: 768px) {
.accordion-container .item .accordion-content{padding:15px 15px;}
.accordion-container .item h3.js-accordion-title{font-size:20px;padding:15px 70px 15px 25px;}
.accordion-container .item h3.js-accordion-title::before{top: 50%; transform: translateY(-50%); }
.accordion-container .item h3.js-accordion-title.open::before{top: 50%; transform: translateY(-50%); }
.accordion-container table td{ border-bottom:none;}
}




/*==========================
お問い合わせ
=========================*/

.contact{padding-bottom:100px;background:var(--primary-color); position:relative;}

.contact .body{
  background:#FFF;
  padding:0 100px;
  position:relative;
  display:flow-root;   /* ← 子のマージンが外に伝わるのを防ぐ */
}
.contact .body form{  margin-left:auto;  margin-right:auto;  position:relative;  margin-top:-150px;  min-height:100px; background:#FFF; padding:0 100px; }
.contact .foot{position:relative;}
.contact .foot .viewmore{margin-top:0px;position: absolute; top: 0; left: 50%; transform: translateX(-50%); }

.contact form .item{display:flex;align-items: flex-start; margin-top:20px;border-bottom:solid 2px var(--primary-color); font-size:14px; padding-bottom:10px; }
.contact form .item:first-of-type{margin-top:0;}
.contact form .item .must{border-radius:10px; text-align:center; padding:5px 10px; margin-right:20px; font-size:14px; color:#FFF; min-width: 80px; white-space:nowrap;}
.contact form .item .must.on{background: var(--primary-color);}
.contact form .item .must.off{background:#FFF; width:84px;}
.contact form .item .input{display:flex;  padding:7px 15px; flex-grow: 1; }
.contact form .item .input .title{color: var(--primary-color); width:280px;    margin-top: -3px;}
.contact form .item .input .title.small{font-size:14px; width:auto; margin-right:20px; }

.contact .link{margin-top:100px;    justify-content: center;}
.contact .link .viewmore{margin-left:0;}


.contact input[type="text"],.contact input[type="email"],.contact textarea{ width:100%;    margin-top: -3px; }
.wpcf7-form-control-wrap {
    display: block !important;
    width: 100% !important;
}

.wpcf7-form-control.wpcf7-textarea {
    width: 100% !important;
    max-width: 100% !important; /* 最大幅の制限をクリア */
    box-sizing: border-box !important; /* 枠線がはみ出るのを防ぐ */
}


.contact input::placeholder,.contact textarea::placeholder{
  color: #CCC;
  font-weight:400;
}

.contact .disabled {
  opacity: 1;
  pointer-events: none; /* クリックを完全に無効化 */
  cursor: not-allowed;
  color: var(--primary-color);
}

.contact .policy{display:flex;align-items: center;justify-content: center;margin-top:40px;}
.contact .policy a{color: var(--primary-color);}
.contact .policy .wpcf7-form-control-wrap{width:auto !important;}
.contact .policy .wpcf7-checkbox{margin-right:20px;}

.contact h3{background:var(--primary-color); text-align:center;  font-size: 18px; 
  padding: 15px; color:#FFF; margin-top:50px;
}
.contact .banner{margin-top:40px;}
.contact .banner .box{justify-content: center;}
.contact .banner .box .item{margin-left:10px; margin-right:10px; width:300px;}


.contact .formbtn{border-radius:10px; padding:10px 20px;  background:var(--primary-color);; text-align:center; color:#FFF; margin-left:auto; margin-right:auto;display: block; margin-top:60px;}

.wpcf7-radio label{display:flex;align-items: center;}
.wpcf7-radio label:hover{cursor:pointer;}
.contact input[type="radio"]{scale: 1.5; margin-right:10px; margin-left:40px;}

.wpcf7-not-valid-tip{margin-top:10px;}
.wpcf7 .wpcf7-submit:disabled{ opacity:0.2;}

.wpcf7 input.formbtn {
  display: block;
  width: 146px;          /* SVGの実寸。拡大したい場合は変更 */
  height: 47px;
  margin: 0 auto;        /* 中央寄せしたい場合 */
  padding: 0;
  border: none;
  background: url('/wp-content/themes/torakuro/assets/image/ic_btn_send.svg') no-repeat center / contain;
  background-color: transparent;
  color: transparent;    /* 「送信」のテキストを非表示に */
  font-size: 0;
  text-indent: -9999px;  /* 念のため */
  cursor: pointer;
  transition: opacity 0.2s;
  margin-top:80px;
}

.wpcf7 input.formbtn:hover {
  opacity: 0.8;
}

.contact label{cursor:pointer;}


/* 1. デフォルトのチェックボックスの見た目を消してサイズを定義 */
input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    
    /* 面積を2倍にする（例：元のサイズが16pxの場合、各辺を1.414倍の22.6pxに） */
    width: 23px;
    height: 23px;
    
    /* 枠線を緑にする */
    border: 2px solid var(--primary-color);
    border-radius: 3px;
    background-color: #fff;
    cursor: pointer;
    display: inline-block;
    position: relative;
    vertical-align: middle;
}

/* 2. チェックが入った時の状態（背景をオレンジに、またはレ点を白に） */
input[type="checkbox"]:checked {
    background:var(--primary-color); 
}

/* 3. チェック時の「レ点」を疑似要素で作成 */
input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 7px;
    top: 3px;
    width: 6px;
    height: 11px;
    border: solid #fff;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
}


@media screen and (max-width: 768px) {
.contact{padding-bottom:50px;}
.contact .body{padding:0 20px;margin-top:-2px;}
.contact .body form{ margin-top:-20px;  min-height:100px; background:#FFF; padding:0 10px; }
.contact form .item{flex-direction: column;}
.contact form .item .input{flex-direction: column; padding:7px 0;}
.contact form .item .must{margin-bottom:10px;}
.contact form .item .input .title{margin-bottom:10px;}
.wpcf7-checkbox{flex-direction: column; display:flex;}
.contact .foot{margin-top:-2px;}
}

/*==============================
もっと見る
==============================*/
.viewmore{ margin-top:40px;}
.viewmore img{width:130px;}

@media screen and (max-width: 768px) {
}





/*=======  ページャー  =======*/
.pagenation{display:flex;justify-content: space-between;margin-bottom:100px; margin-top:100px;}
.pagenation .item{text-align:center; background:transparent;}
.pagenation .item a{color:#000;}
.pagenation .item:last-child{text-align:right;}
.pagenation .item > div{display:flex;    align-items: center; }
.pagenation .item:last-child > div{flex-direction: row-reverse;}
.pagenation .item .date{ margin-bottom:0px;}
.pagenation .item .title{border-bottom:none; padding-bottom:0px;}
.pagenation .item .title a{color:#000; font-size:17px;}
.pagenation .link{margin-top:0;}
.pagenation .link a{color:#e78b42;}
.pagenation .viewmore{margin-top:0;}


.arrow-left {
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-right: 17px solid var(--primary-color);
  border-left: 0;
  margin-right:20px;
}


.arrow-right {
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 17px solid var(--primary-color);
  border-right: 0;
  margin-left:20px;
}



@media screen and (max-width: 768px) {
.pagenation{margin-bottom:50px;}
.pagenation .item{ padding:0;}
.pagenation .viewmore img{width:100px;}
}





table {width:100%; }
table th, table td{font-size: clamp(1.25rem, 1.1111rem + 0.4444vw, 1.5rem);/*24/20*/}
table th{width:25%;  }


@media screen and (max-width: 768px) {
table td,table th{width:100%; display:block;}
table th{}
}


/*==============================
ページトップ
==============================*/

#page_top {position: fixed;bottom: 100px;left: calc(100vw - 80px); display:none; z-index:1;}
#page_top a {background-color: #999;color: #fff;text-align: center;	text-decoration: none;font-size: 24px;padding-top: 6px;	padding-right: 15px;padding-bottom: 10px;padding-left: 15px;}
#page_top a:hover {background-color: #666;text-decoration: none;}

@media screen and (max-width: 768px) {
#page_top {bottom: calc(100vh - 88vh);left:auto; right:10px; }
#page_top a{}
}



/*=======  サイトマップ  =======*/


/*=======  フッター  ====*/
footer{padding-left:100px; padding-bottom:60px;  letter-spacing:1px; padding-top:60px;}
footer .global_inner{max-width:1200px;}
footer .box{justify-content: flex-start;align-items: center;}
footer .box .logo{width:250px; margin-right:60px;}
footer .box .logo img{width:100%;}
footer .box .item{}
footer .box .item .sns ul{display:flex;align-items: center;}
footer .box .item .sns ul li{margin-right:15px;}
footer .box .item .sns ul li img{height:auto; width:auto;}

footer .box .item .address{font-size:12px; margin-top:15px;}
footer .box .item .address span{margin-right:20px;}

@media screen and (max-width: 768px) {
footer{margin-bottom:0px; text-align:center; padding-top:50px; padding-left:0;}
footer .box .logo{width:70%; margin-left:auto; margin-right:auto; max-width:250px;}
footer .box .item{width:100%;}
footer .box .item .sns{margin-top:15px;}
footer .box .item .sns ul{justify-content: center;}
footer .box .item .address span{display:block; margin-bottom:5px;}

}



/*=======  下からフェードアップ  =======*/
.fadeup {opacity: 0;}
.fadeup.isShow {  opacity: 1;animation: fadeUp 0.5s ease 0.6s 1 normal backwards;}
@keyframes fadeUp {
from {
    opacity: 0;
    transform: translateY(50px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}


/*=======  左からからフェードイン  =======*/
.fadein_from_left{opacity: 0;}
.fadein_from_left.isShow {  opacity: 1;animation:  fadein_from_left 1.0s ease 0.5s 1 normal backwards;}

@keyframes fadein_from_left {
  0% {
    opacity: 0;
    transform: translateX(-100px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*=======  右からからフェードイン  =======*/
.fadein_from_right{opacity: 0;}
.fadein_from_right.isShow {   opacity: 1;animation:  fadein_from_right 1.0s ease 0.5s 1 normal backwards;}

@keyframes fadein_from_right {
  0% {
    opacity: 0;
    transform: translateX(100px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/*=======  上からからフェードイン  =======*/
.fadein_from_top{opacity: 0;}
.fadein_from_top.isShow {   opacity: 1;animation:  fadein_from_top 1.0s ease 0.5s 1 normal backwards;}

@keyframes fadein_from_top {
  0% {
    opacity: 0;
    transform: translateY(-500px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}


@media screen and (max-width: 768px) {
.pc{display:none !important;}
}

@media screen and (min-width: 769px) {
.sp{display:none !important;} 
}



