@charset "utf-8";
/* CSS Document */

/*===================================
	共通パーツ
=====================================*/

.top_midashi_area{
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}

.top_midashi_area p.en_midashi{
	font-size: 108.33%;/*13*/
	line-height: 1;
	color: #39ad4a;
	position: relative;
	left: -0.25em;/*3*/
}

.top_midashi_area h2.jp_midashi{
	margin-top: 11px;
	font-size: 208.33%;/*25*/
	line-height: 1.1;
	color: #004094;
	padding-left: 2.16em;/*54*/
	box-sizing: border-box;
	position: relative;
}

.top_midashi_area h2.jp_midashi::before{
	content: '';
	background: #919191;
	width: 1.12em;/*28*/
	height: 1px;
	position: absolute;
	top: 15px;
	left: 0.2em;/*5*/
	z-index: 1;
}

.common_link_btn a{
	display: flex;
	align-items: center;
	width: 100%;
	height: 59px;
	border-radius: 16px;
	background-color: #fff;
	background-image: url("images2026/common/link_ico01.webp");
	background-repeat: no-repeat;
	background-size: 1em auto;/*16*/
	background-position: right 1.25em center;/*20*/
	box-shadow: 0 0 5px rgba(116, 160, 178, 0.45);
	box-sizing: border-box;
	font-size: 16px;
	line-height: 1;
	color: #333;
}

.common_link_btn a:hover{
	background-color: #39ad4a;
	color: #fff;
	opacity: 1;
}

/*===================================
	.first_view
=====================================*/

/* 親要素：first_viewを683pxに固定 */
.first_view {
  width: 100%;
  height: 683px;
	margin-top: 8px;
  overflow: hidden;
  position: relative;	
}

/* スライダー自体も683pxに合わせる */
.first_view #slider {
  width: 85.95%;/*1272*/
  height: 683px;
	border-top-left-radius: 20px;
	border-bottom-left-radius: 20px;
	overflow: hidden;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
}


/* 表示・非表示の管理用 */
.fv-text-box {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    z-index: 5;
}

/* 表示状態（JSで付与） */
.fv-text-box.is-active {
    opacity: 1;
    visibility: visible;
}

/* アニメーション用クラス（JSで制御） */
.fv-text-box.is-animating {
    animation: fadeUpAnime 1.0s forwards;
}

/* 各パターンの配置をCSSで個別に指定 */
.first_view #slider .fv-text-box#pattern-0 {
	top: 42px;
	left: 4.72%;/*60*/
	text-align: justify;
}

.first_view #slider .fv-text-box#pattern-1 {
	top: 145px;
/*	top: 159px;*/
	left: 0;
	right: 0;
	margin: 0 auto;
	text-align: center;
}

.first_view #slider .fv-text-box#pattern-1::before {
	content: '';
	background: url("images2026/top/slide_parts.webp")no-repeat;
	background-size: 100% auto;
	width: 46.23%;/*588*/
	max-width: 588px;
	height: auto;
	aspect-ratio: 588 / 496;
	position: absolute;
	top: calc(50% + 25px);
/*	top: 50%;*/
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
}

.first_view #slider .fv-text-box#pattern-2 {
	top: 100px;
	left: 0;
	right: 0;
	margin: 0 auto;
	text-align: center;
}

.first_view #slider .fv-text-box#pattern-3 {
	top: 100px;
	left: 0;
	right: 0;
	margin: 0 auto;
	text-align: center;
}

.first_view #slider .fv-text-box#pattern-4 {
	top: 100px;
	left: 0;
	right: 0;
	margin: 0 auto;
	text-align: center;
}

.first_view #slider .fv-text-box h2.catchphrase{
	font-size: 241.67%;/*29*/
	line-height: 1.55;
	letter-spacing: 0.1em;
	color: #0076a5;
}

.first_view #slider .fv-text-box p{
	margin-top: 28px;
	font-size: 125%;/*15*/
	line-height: 2.07;
	letter-spacing: 0.03em;
	color: #4d4d4d;
}

.first_view #slider .fv-text-box p.head_txt{
	font-size: 258.33%;/*31*/
	line-height: 1.23;
	letter-spacing: 0.1em;
	color: #007d9e;
}

.first_view #slider .fv-text-box h2.catchphrase02{
	font-size: 375%;/*45*/
	line-height: 1;
	letter-spacing: 0.1em;
	color: #007d9e;
	margin-top: 20px;
}

.first_view #slider .fv-text-box .slider_btn{
	width: 100%;
	max-width: 238px;
	margin-top: 26px;
}

.first_view #slider .fv-text-box:not(#pattern-0) .slider_btn{
	margin: 35px auto 0;
}

.first_view #slider .fv-text-box#pattern-1 .slider_btn{
	max-width: 223px;
}

.first_view #slider .fv-text-box .slider_btn a{
	display: flex;
	align-items: center;
	width: 100%;
	height: 60px;
	border-radius: 30px;
	background-color: rgba(255,255,255,0.88);
	background-image: url("images2026/common/common_link_ico01.webp");
	background-repeat: no-repeat;
	background-size: 8.82% auto;/*21*/
	background-position: right 7.98% center;/*19*/
	padding-left: 15.96%;/*38*/
	box-sizing: border-box;
	box-shadow: 0 0 5px rgba(116, 160, 178, 0.45);
	font-size: 16px;
	line-height: 1;
	color: #333333;
}

.first_view #slider .fv-text-box .slider_btn a:hover{
	background-color: #39ad4a;
	color: #fff;
	opacity: 1;
	
}

.first_view #slider .fv-text-box#pattern-1 .slider_btn a{
	background-size: 9.42% auto;/*21*/
	background-position: right 8.52% center;/*19*/
	padding-left: 12.11%;/*27*/
}

.first_view #slider .important_wrap{
	width: 61.16%;/*778*/
	position: absolute;
	bottom: 11px;
	left: 32px;
	z-index: 1;
}

.first_view #slider .important_wrap::before{
	content: '';
	background: rgba(255,255,255,0.9);
	width: 108.61%;/*845*/
	height: calc(100% + 37px);
	border-top-right-radius: 30px;
	position: absolute;
	bottom: -12px;
	left: -32px;
	z-index: -1;
}

.first_view #slider .important_wrap p.cat_name{
	font-size: 166.67%;/*20*/
	line-height: 1;
	color: #e51c24;
}

.first_view #slider .important_wrap .post_area{
}

.first_view #slider .important_wrap .post_area a{
	padding: 17px 0;
	border-bottom: 1px solid #e51c24;
	display: flex;
	align-items: center;
	gap: 0 3.86%;/*30*/
	padding-right: 6.43%;/*50*/
	box-sizing: border-box;
	background-image: url("images2026/common/common_link_ico02.webp");
	background-repeat: no-repeat;
	background-size: 2.06% auto;/*16*/
	background-position: right center;
	overflow: visible;
}

.first_view #slider .important_wrap .post_area a p.date{
	font-size: 133.33%;
	line-height: 1;
	color: #666666;
}

.first_view #slider .important_wrap .post_area a p.post_tit{
	font-size: 133.33%;
	line-height: 1;
	color: #000;
	transition: color 0.3s ease;
}

.first_view #slider .important_wrap .post_area a:hover{
	opacity: 1;
}

.first_view #slider .important_wrap .post_area a:hover p.post_tit{
	color: #e51c24;
}

/* ページャーとドットをスライダーの高さの中央・下部に配置 */
.first_view .vegas-controls {
	display: flex;
	flex-direction: column;
	gap: 92px 0;
	width: 3.58%;/*53*/
	max-width: 53px;
	position: absolute;
	top: 214px;
	left: 6.08%;/*90*/
	z-index: 10;
	pointer-events: none;
}

.first_view .vegas-controls .vegas-prev,
.first_view .vegas-controls .vegas-next {
	width: 100%;
	cursor: pointer;
	pointer-events: auto;
	position: relative;
}

.first_view .vegas-controls .vegas-next::before{
	content: '';
	background: #c4c4c4;
	width: 128.30%;
	max-width: 68px;
	height: 1px;
	position: absolute;
	top: -47px;
	left: 50%;
	transform: translate(-50%, -100%);
	z-index: 1;
}


.first_view .vegas-controls .vegas-prev img,
.first_view .vegas-controls .vegas-next img{
	width: 100%;
	height: auto;
	filter: drop-shadow(0 0 5px rgba(116, 160, 178, 0.55));
}



.first_view .vegas-dots {
	display: flex;
	flex-direction: column;
	gap: 14px 0;
	width: 1.08%;/*16*/
	max-width: 16px;
  position: absolute;
	top: 26px;
	left: 7.16%;/*106*/
  z-index: 10;
}

.vegas-dots span {
  width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
  background: #fff;
	border: 1px solid #39ad4a;
	box-sizing: border-box;
  border-radius: 50%;
  cursor: pointer;
  transition: background 0.3s;
}

.vegas-dots span.active {
  background: #39ad4a;
}


/* スクロールダウン全体の場所 */
.scrolldown1 {
    position: absolute;
    bottom: 21px; /* 線の底位置 */
    left: 7.23%;
    width: 14px;
    /* height: 124px; ここでは指定しない */
    z-index: 5;
}

/* テキスト画像 (::before) */
.scrolldown1::before {
    content: '';
    background: url("images2026/top/scroll_txt.webp") no-repeat center top;
    background-size: contain;
    width: 14px;
    height: 44px; /* 画像の高さに合わせて固定 */
    position: absolute;
    top: -50px; /* 線の上に配置 */
    left: 50%;
    transform: translateX(-50%);
}

/* 動く線専用の枠 */
.scroll-line {
    position: relative;
    width: 100%;
    height: 124px; /* ここで高さを指定 */
    overflow: hidden; /* 線だけをこの枠内に閉じ込める */
}

/* 動く線 (::after) */
.scroll-line::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    background: #39ad4a;
    /* アニメーション適用 */
    animation: pathmove 1.6s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* アニメーション：124pxの枠内を滑らかに通過する（前回と同じ） */
@keyframes pathmove {
    0% {
        top: -80px;      /* 枠の外（上）からスタート */
        height: 80px;    /* 線の長さ */
        opacity: 0;
    }
    30% {
        opacity: 1;
    }
    100% {
        top: 124px;      /* 線の先端が枠の底（124px）に達した瞬間に移動終了 */
        height: 80px;
        opacity: 0;      /* 枠の底で消える */
    }
}

/* 拡大率を抑えて、変化量を小さくする */
.vegas-animation-kenburns {
    animation-name: custom-kenburns !important;
}

@keyframes custom-kenburns {
    0% { transform: scale(1.15); } /* 開始時の拡大率 */
    100% { transform: scale(1.0); } /* 終了時は元のサイズ */
}

/*===================================
	.consultation-wrapper
=====================================*/

.consultation-wrapper {
	display: flex;
	width: 40.81%;/*604*/
    max-width: 604px; /* 最大幅を指定しておくことで崩れを防ぐ */
	min-height: 351px;
	box-shadow: 0 0 5px rgba(116, 160, 178, 0.45);
	border-top-left-radius: 30px;
	border-bottom-left-radius: 30px;
    position: fixed;
	top: 275px;
	right: 0px;
    transform: translateX(calc(100% - 78px));
    transition: transform 0.5s ease;
    z-index: 1000;
}

.consultation-wrapper.is-open {
    transform: translateX(0);
}


.consultation-wrapper .consultation-btn{
	width: 12.91%;/*78*/
	min-width: 78px;
	max-width: 78px;
	border-top-left-radius: 30px;
	border-bottom-left-radius: 30px;
	box-shadow: 0 0 8px 4px rgba(116, 160, 178, 0.55);	
	overflow: hidden;
	position: relative;
	z-index: 1;
}
/* ボタン本体（アイコンはここから削除） */
.consultation-wrapper .consultation-btn button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    border: none;
    outline: none;
    cursor: pointer;
    background-color: #39ad4a;
    font: inherit;
    position: relative;
    /* 背景画像を削除 */
    background-image: none; 
}

/* 回転させるアイコンを ::after で追加 */
.consultation-wrapper .consultation-btn button::after {
    content: '';
    position: absolute;
    bottom: 24px; /* 元の background-position: center bottom 24px の位置 */
    left: 50%;
    transform: translateX(-50%) rotate(180deg); /* 初期状態を180度回転 */
    width: 38px; /* 元の background-size から計算した幅 (必要に応じて調整) */
    height: 38px; /* アイコンの高さ */
    background: url("images2026/top/link_ico.webp") no-repeat center center;
    background-size: contain;
    transition: transform 0.5s ease; /* 滑らかな回転 */
}

/* is-openクラスが付いた時に回転を0度に戻す */
.consultation-wrapper .consultation-btn button.is-open::after {
    transform: translateX(-50%) rotate(0deg);
}

/* 元々あった上のアイコン(::before)はそのまま維持 */
.consultation-wrapper .consultation-btn button::before {
    content: '';
    background: url("images2026/top/btn_ico.webp") no-repeat;
    background-size: 100% auto;
    width: 83.33%;
    height: auto;
    aspect-ratio: 65 / 83;
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}
.consultation-wrapper .consultation-btn button span{
	writing-mode: vertical-rl;
	font-size: 2.2rem;
	color: #fff;
	line-height: 1;
	letter-spacing: 0.1em;
	padding-top: 8px;
}

.consultation-wrapper .table-panel{
	flex: 1;
	background: #fff;
	padding: 21px 28px 25px 21px;
	box-sizing: border-box;
}

.consultation-wrapper .table-panel .table-content{
	width: 100%;
}

.consultation-wrapper .table-panel .table-content .table_img{
	width: calc(100% - 5px);
}

.consultation-wrapper .table-panel .table-content .table_img img{
	width: 100%;
}

.consultation-wrapper .table-panel .table-content p{
	margin-top: 10px;
	font-size: 16px;
	line-height: 1.38;
	letter-spacing: 0.05em;
	color: #4d4d4d;
	text-align: justify;
}

.consultation-wrapper .table-panel .table-content .ch_btn{
	width: 91.14%;/*432 / 474*/
	margin: 20px auto 0;
}

.consultation-wrapper .table-panel .table-content .ch_btn a{
	display: flex;
	align-items: center;
	width: 100%;
	height: 47px;
	border-radius: 21px;
	background-color: #39ad4a;
	background-image: url("images2026/top/btn_ico_1.webp");
	background-repeat: no-repeat;
	background-size: 4.63% auto;/*20*/
	background-position: right 4.17% center;/*18*/
	padding-left: 5.56%;/*24*/
	box-sizing: border-box;
	font-size: 16px;
	line-height: 1;
	color: #fff;
	box-shadow: rgba(116, 160, 178, 0.45) 0px 0px 5px;
}


.consultation-wrapper .table-panel .table-content .ch_btn a:hover{
	background-color: #fff;
	color: #008a45;
	opacity: 1;
}

/*===================================
	.consultation-wrapper
=====================================*/

.news_wrap{
	padding: 32px 0 64px;
}

.news_wrap .wrap_inner{
	width: 100%;
	max-width: 1150px;
	padding: 0 25px;
	box-sizing: border-box;
	margin: 0 auto;
	position: relative;
}

body.large-text .news_wrap .wrap_inner{
	max-width: 1438px;
}

.news_wrap .wrap_inner .top_news_list{
	width: 90.91%;/*1000*/
	margin: 42px auto 0;
}

.news_wrap .wrap_inner .top_news_list ul.news_list{
	width: 100%;
	list-style: none;
}

.news_wrap .wrap_inner .top_news_list ul.news_list li{
	display: flex;
	align-items: center;
	width: 100%;
	height: 55px;
	border-bottom: 1px solid #c4c4c4;
}

.news_wrap .wrap_inner .top_news_list ul.news_list li .date_area{
	width: 29.4%;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 0 4.42%;/*13*/
}

.news_wrap .wrap_inner .top_news_list ul.news_list li .date_area .category{
	width: 43.54%;/*128*/
}

.news_wrap .wrap_inner .top_news_list ul.news_list li .date_area .category a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 22px;
	border-radius: 5px;
	background-color: #29a3da;
	font-size: 14px;
	line-height: 1;
	color: #fff;
}

.news_wrap .wrap_inner .top_news_list ul.news_list li .date_area .category a.cat-5{
	background-color: #e20019;
}

.news_wrap .wrap_inner .top_news_list ul.news_list li .date_area p.date_txt{
	font-size: 1.6rem;
	line-height: 1;
	color: #666666;
}

.news_wrap .wrap_inner .top_news_list ul.news_list li.new .date_area p.date_txt::before{
	content: 'New';
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
	font-size: 1.7rem;
	line-height: 1;
	color: #e20019;
	margin-right: 17px;
}

.news_wrap .wrap_inner .top_news_list ul.news_list li .post_tit{
	flex: 1;
	height: 100%;
	padding: 0 1.08em;/*13*/
	box-sizing: border-box;
}

.news_wrap .wrap_inner .top_news_list ul.news_list li .post_tit a{
	display: flex;
	align-items: center;
	height: 100%;
	font-size: 133.33%;/*16*/
	line-height: 1;
	color: #000000;
	padding-right: 2em;
	box-sizing: border-box;
	position: relative;
}

.news_wrap .wrap_inner .top_news_list ul.news_list li .post_tit a::after{
	content: '';
	background: url("images2026/common/link_ico01.webp")no-repeat;
	background-size: 100% auto;
	width: 1.33em;/*16*/
	height: auto;
	aspect-ratio: 1 / 1;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	z-index: 1;
}

.news_wrap .wrap_inner .top_news_list ul.news_list li .post_tit a:hover{
	opacity: 1;
	color: #008a45;
}

.news_wrap .wrap_inner .top_news_list ul.news_list li .post_tit a img{
	margin-left: 0.5em;
}

.news_wrap .wrap_inner .common_link_btn{
	width: 18.05%;/*198.5*/
	position: absolute;
	top: 11px;
	right: 5.91%;/*68*/
	z-index: 1;
}

.news_wrap .wrap_inner .common_link_btn a{
	padding-left: 17.13%;/*34*/
}

/*===================================
	.consultation-wrapper
=====================================*/

.depart_wrap{
	padding: 64px 0 68px;
	position: relative;
}

.depart_wrap::before{
	content: '';
	background: #eaf6f9;
	width: 100%;
	height: calc(100% - 321px);
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}

.depart_wrap .wrap_inner{
	width: 100%;
	max-width: 1150px;
	padding: 0 25px;
	box-sizing: border-box;
	margin: 0 auto;
	position: relative;
}

body.large-text .depart_wrap .wrap_inner{
	max-width: 1438px;
}

.depart_wrap .wrap_inner .en_logo{
	width: 78.45%;/*863*/
	margin: 0 auto;
}

.depart_wrap .wrap_inner .en_logo img{
	width: 100%;
	height: auto;
}

.depart_wrap .wrap_inner .flex_area{
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin-top: 64px;
}

.depart_wrap .wrap_inner .flex_area .left_area{
	width: 24.09%;/*265*/
}

.depart_wrap .wrap_inner .flex_area .left_area .top_midashi_area h2.jp_midashi{
	margin-top: 18px;
	font-size: 250%;/*30*/
	padding-left: 1.8em;/*54*/
}

.depart_wrap .wrap_inner .flex_area .left_area .top_midashi_area h2.jp_midashi::before{
	width: 0.93em;/*28*/
	left: 0.17em;/*5*/
}


.depart_wrap .wrap_inner .flex_area .left_area .txt_area{
	padding: 89px 0 0 18.87%;/*50*/
	box-sizing: border-box;
}

.depart_wrap .wrap_inner .flex_area .left_area .txt_area p.txt_lv1{
	font-size: 216.67%;/*26*/
	line-height: 1.73;
	color: #39ad4a;
}

.depart_wrap .wrap_inner .flex_area .left_area .txt_area p.txt_lv2{
	margin-top: 35px;
	font-size: 133.33%;/*16*/
	line-height: 1.88;
	letter-spacing: 0.05em;
	color: #4d4d4d;
	text-align: justify;
}

.depart_wrap .wrap_inner .flex_area .right_area{
	width: 71.82%;/*790*/
}

.depart_wrap .wrap_inner .flex_area .right_area .kamoku_list{
	width: 100%;
	list-style: none;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 35px 0;
}

.depart_wrap .wrap_inner .flex_area .right_area .kamoku_list li{
	width: 30.38%;/*240*/
}

.depart_wrap .wrap_inner .flex_area .right_area .kamoku_list li.kamoku a{
	display: flex;
	justify-content: center;
	align-items: flex-end;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	background-color: #fff;
	background-image: url("images2026/top/kamoku_ico01.webp");
	background-repeat: no-repeat;
	background-size: 32.08% auto;/*77*/
	background-position: center top 34px;
	border-radius: 50%;
	box-shadow: 0 0 9px rgba(83, 144, 165, 0.25);
	font-size: 150%;/*18*/
	line-height: 1.44;
	text-align: center;
	color: #333333;
	padding-bottom: 50px;
	box-sizing: border-box;
	position: relative;
}

.depart_wrap .wrap_inner .flex_area .right_area .kamoku_list li.kamoku:nth-child(2) a{
	background-image: url("images2026/top/kamoku_ico02.webp");
	background-size: 21.25% auto;/*51*/
	background-position: center top 33px;
	padding-bottom: 44px;
}

.depart_wrap .wrap_inner .flex_area .right_area .kamoku_list li.kamoku:nth-child(3) a{
	background-image: url("images2026/top/kamoku_ico03.webp");
	background-size: 37.08% auto;/*89*/
	background-position: center top 49px;
	padding-bottom: 44px;
}

.depart_wrap .wrap_inner .flex_area .right_area .kamoku_list li.kamoku:nth-child(4) a{
	background-image: url("images2026/top/kamoku_ico04.webp");
	background-size: 29.58% auto;/*71*/
	background-position: center top 17px;
	padding-bottom: 44px;
}

.depart_wrap .wrap_inner .flex_area .right_area .kamoku_list li.kamoku:nth-child(5) a{
	background-image: url("images2026/top/kamoku_ico05.webp");
	background-size: 32.92% auto;/*79*/
	background-position: center top 48px;
	padding-bottom: 44px;
}

.depart_wrap .wrap_inner .flex_area .right_area .kamoku_list li.kamoku a::before{
	content: '';
	background: url("images2026/top/kamoku_link_ico01.webp")no-repeat;
	background-size: 100% auto;
	width: 13.33%;/*32*/
	height: auto;
	aspect-ratio: 32 / 33;
	position: absolute;
	bottom: 20px;
	right: 7.92%;/*19*/
	z-index: 2;
}

.depart_wrap .wrap_inner .flex_area .right_area .kamoku_list li.kamoku:nth-child(2) a::before{
	background: url("images2026/top/kamoku_link_ico02.webp")no-repeat;
	background-size: 100% auto;
}

.depart_wrap .wrap_inner .flex_area .right_area .kamoku_list li.kamoku:nth-child(3) a::before{
	background: url("images2026/top/kamoku_link_ico03.webp")no-repeat;
	background-size: 100% auto;
}

.depart_wrap .wrap_inner .flex_area .right_area .kamoku_list li.kamoku:nth-child(4) a::before{
	background: url("images2026/top/kamoku_link_ico04.webp")no-repeat;
	background-size: 100% auto;
}

.depart_wrap .wrap_inner .flex_area .right_area .kamoku_list li.kamoku:nth-child(5) a::before{
	background: url("images2026/top/kamoku_link_ico05.webp")no-repeat;
	background-size: 100% auto;
}

.depart_wrap .wrap_inner .flex_area .right_area .kamoku_list li.kamoku a::after{
	content: '';
	border: 3px solid #29a3da;
	box-sizing: border-box;
	border-radius: 50%;
	width: 100%;
	height: 100%;
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
    transition: opacity 0.3s ease; 	
	z-index: 1;
}

.depart_wrap .wrap_inner .flex_area .right_area .kamoku_list li.kamoku:nth-child(2) a::after{
	border-color: #ef8b1e;
}

.depart_wrap .wrap_inner .flex_area .right_area .kamoku_list li.kamoku:nth-child(3) a::after{
	border-color: #84be3f;
}

.depart_wrap .wrap_inner .flex_area .right_area .kamoku_list li.kamoku:nth-child(4) a::after{
	border-color: #00a195;
}

.depart_wrap .wrap_inner .flex_area .right_area .kamoku_list li.kamoku:nth-child(5) a::after{
	border-color: #ff7ba4;
}

/* ホバー時の設定 */
.depart_wrap .wrap_inner .flex_area .right_area .kamoku_list li.kamoku a:hover::after {
    opacity: 1; /* ホバーで不透明にする */
}

.depart_wrap .wrap_inner .flex_area .right_area .kamoku_list li.kamoku a:hover {
    opacity: 1;
}

.depart_wrap .wrap_inner .flex_area .right_area .kamoku_list li.btn{
	display: flex;
	justify-content: center;
	align-items: center;
}

.depart_wrap .wrap_inner .flex_area .right_area .kamoku_list li.btn .common_link_btn{
	width: 97.92%;/*235*/
}

.depart_wrap .wrap_inner .flex_area .right_area .kamoku_list li.btn .common_link_btn a{
	padding-left: 13.62%;/*32*/
}

/*===================================
	.mc_wrap
=====================================*/

.mc_wrap{
	padding: 152px 0 107px;
	position: relative;
	z-index: 1;
}

.mc_wrap::before{
	content: '';
	background: #eaf6f9;
	width: 100%;
	height: calc(100% - 416px);
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}

.mc_wrap .wrap_inner{
	width: 100%;
	max-width: 1150px;
	padding: 0 25px;
	box-sizing: border-box;
	margin: 0 auto;
	position: relative;
}

body.large-text .mc_wrap .wrap_inner{
	max-width: 1438px;
}

.mc_wrap .wrap_inner .top_midashi_area h2.jp_midashi{
	margin-top: 20px;
	font-size: 250%;/*30*/
	padding-left: 1.8em;/*54*/
}


.mc_wrap .wrap_inner .top_midashi_area h2.jp_midashi::before{
	width: 0.93em;/*28*/
	left: 0.17em;/*5*/
}


.mc_wrap .wrap_inner ul.mc_list{
	width: 95.45%;/*1050*/
	margin: 52px auto 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 41px 0;
	position: relative;
}

.mc_wrap .wrap_inner ul.mc_list::before{
	content: '';
	background: url("images2026/top/mc_parts01.webp")no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: auto;
	aspect-ratio: 1051 / 362;
	position: absolute;
	top: 211px;
	transform: translateY(-100%);
	left: 27.14%;/*285*/
	z-index: -1;
}

.mc_wrap .wrap_inner ul.mc_list li{
	width: 31.05%;/*326*/
}

.mc_wrap .wrap_inner ul.mc_list li a{
	display: flex;
	flex-direction: column;
	width: 100%;
	border-radius: 15px;
	box-shadow: 0 0 12px rgba(83, 144, 165, 0.45);
	background-color: #fff;
	overflow: hidden;
}

.mc_wrap .wrap_inner ul.mc_list li a:hover{
	opacity: 1;
}

.mc_wrap .wrap_inner ul.mc_list li a .thumb{
	width: 100%;
	height: auto;
	aspect-ratio: 326/ 189;
	overflow: hidden;
}

.mc_wrap .wrap_inner ul.mc_list li a .thumb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
    transition: transform 0.5s ease; 
}


/* ホバー時の変化を設定 */
.mc_wrap .wrap_inner ul.mc_list li a:hover .thumb img {
    transform: scale(1.1); /* 1.1倍に拡大 */
}

.mc_wrap .wrap_inner ul.mc_list li a p{
	display: flex;
	align-items: center;
	width: 100%;
	height: 72px;
	background-image: url("images2026/common/link_ico01.svg");
	background-repeat: no-repeat;
	background-size: 7.98% auto;/*26*/
	background-position: right 7.36% center;/*24*/
	padding-left: 7.67%;/*25*/
	box-sizing: border-box;
	font-size: 166.67%;/*20*/
	line-height: 1.4;
	color: #000000;
	transition: color 0.3s ease;
}

.mc_wrap .wrap_inner ul.mc_list li a:hover p{
	color: #008a45;
}

/*===================================
	.rec_wrap
=====================================*/

.rec_wrap{
	padding: 113px 0 0px;
	position: relative;
}

.rec_wrap .wrap_inner{
	width: 100%;
	max-width: 1150px;
	padding: 0 25px;
	box-sizing: border-box;
	margin: 0 auto;
	position: relative;
}

body.large-text .rec_wrap .wrap_inner{
	max-width: 1438px;
}

.rec_wrap .wrap_inner .recruit_area{
	width: 100%;
	height: auto;
	aspect-ratio: 1101 / 519;
	background: url("images2026/top/rec_bg01.webp")no-repeat;
	background-size: cover;
	position: relative;
}

.rec_wrap .wrap_inner .recruit_area::before{
	content: '';
	background: url("images2026/top/rec_parts01.webp")no-repeat;
	background-size: 100% auto;
	width: 95.0%;/*1045*/
	height: auto;
	aspect-ratio: 1045 / 940;
	position: absolute;
	bottom: 18px;
	left: 48.0%;/*528*/
	z-index: -2;
}

.rec_wrap .wrap_inner .recruit_area .rec_midashi_wrap{
	display: flex;
	flex-direction: column;
	gap: 27px 0;
	width: 35.82%;/*394*/
	height: 253px;
	background: rgba(255,255,255,0.95);
	border-top-right-radius: 50px;
	border-bottom-right-radius: 50px;
	padding: 35px 0 0 3.64%;/*40*/
	box-sizing: border-box;
	position: absolute;
	top: 189px;
	transform: translateY(-100%);
	left: 0;
}

.rec_wrap .wrap_inner .recruit_area .rec_midashi_wrap p.en_midashi{
	width: fit-content;
	font-size: 600%;/*72*/
	line-height: 1;
	color: #83cb32;
	padding-bottom: 32px;
	position: relative;
}

.rec_wrap .wrap_inner .recruit_area .rec_midashi_wrap p.en_midashi::before{
	content: '';
	background: #EFA511;
	background: linear-gradient(90deg, rgba(239, 165, 17, 1) 0%, rgba(131, 203, 50, 1) 100%);
	width: 100%;
	height: 3px;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
}

.rec_wrap .wrap_inner .recruit_area .rec_midashi_wrap h2.jp_midashi02{
	font-size: 291.67%;/*35*/
	line-height: 1;
	color: #efa511;
}

.rec_wrap .wrap_inner .recruit_area .rec_detail_area{
	width: 49.27%;/*542*/
	padding-top: 40px;
	position: absolute;
	bottom: 45px;
	right: 1.18%;/*13*/
	z-index: 1;
}

.rec_wrap .wrap_inner .recruit_area .rec_detail_area::before{
	content: '';
	background: url("images2026/top/rec_parts03.webp")no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: auto;
	aspect-ratio: 542 / 286;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.rec_wrap .wrap_inner .recruit_area .rec_detail_area .txt_area{
	width: 100%;
	padding-left: 22.14%;/*120*/
	box-sizing: border-box;
}

.rec_wrap .wrap_inner .recruit_area .rec_detail_area .txt_area p.txt_lv1{
	font-size: 300%;/*36*/
	line-height: 1.50;
	color: #fff;
}

.rec_wrap .wrap_inner .recruit_area .rec_detail_area .txt_area p.txt_lv2{
	font-size: 133.33%;/*16*/
	line-height: 1.94;
	letter-spacing: 0.05em;
	color: #fff;
	text-align: justify;
	margin-top: 24px;
}

.rec_wrap .wrap_inner .recruit_area .rec_detail_area .common_link_btn{
	width: 53.51%;/*290*/
	margin: 32px 0 0 38.38%;/*208*/
}

.rec_wrap .wrap_inner .recruit_area .rec_detail_area .common_link_btn a{
	height: 84px;
	border-radius: 19px;
	background-image: url("images2026/common/common_link_ico03.svg");
	background-size: 1.06em auto;/*19*/
	font-size: 18px;
	padding-left: 35.52%;/*103*/
}

.rec_wrap .wrap_inner .recruit_area .rec_detail_area .common_link_btn a:hover{
	background-color: #e5781f;
}

.rec_wrap .wrap_inner .rec_link_area{
	width: 90.91%;/*1000*/
	margin: 0 auto;
	padding: 33px 0 53px;
	position: relative;
}

.rec_wrap .wrap_inner .rec_link_area::before{
	content: '';
	background: url("images2026/top/rec_parts02.webp")no-repeat;
	background-size: 100% auto;
	width: 117.8%;
	height: auto;
	aspect-ratio: 1178 / 306;
	position: absolute;
	bottom: 0;
	right: 10.2%;
	z-index: -1;
}

.rec_wrap .wrap_inner .rec_link_area ul.link_list{
	width: 100%;
	display: flex;
	justify-content: space-between;
	list-style: none;
}

.rec_wrap .wrap_inner .rec_link_area ul.link_list li{
	width: 31.1%;
}

.rec_wrap .wrap_inner .rec_link_area ul.link_list li a{
	display: flex;
	align-items: center;
	width: 100%;
	height: 90px;
	border-radius: 20px;
	background-color: #fff;
	background-image: url("images2026/common/common_link_ico03.svg");
	background-repeat: no-repeat;
	background-size: 1.06em auto;/*19*/
	background-position: right 1.11em center;/*20*/
	box-shadow: 0 0 5px rgba(116, 160, 178, 0.45);
	box-sizing: border-box;
	font-size: 18px;
	line-height: 1.5;
	color: #333;
	padding-left: 39.23%;/*122*/
	position: relative;
}

/* 共通設定: transitionを指定してアニメーションさせる */
.rec_wrap .wrap_inner .rec_link_area ul.link_list li a::before,
.rec_wrap .wrap_inner .rec_link_area ul.link_list li a::after {
    content: '';
    background-repeat: no-repeat;
    background-size: 100% auto;
	width: 18.01%;/*56*/
    height: auto;
    aspect-ratio: 56 / 38;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
	left: 11.58%;/*36*/
    z-index: 2;
    /* ここでふんわりさせる時間を設定 (0.3秒) */
    transition: opacity 0.3s ease;
}

/* 通常時の before */
.rec_wrap .wrap_inner .rec_link_area ul.link_list li a::before {
    background-image: url("images2026/top/rec_link_ico01.webp");
    opacity: 1;
}

/* ホバー時の after */
.rec_wrap .wrap_inner .rec_link_area ul.link_list li a::after {
    background-image: url("images2026/top/hov-rec_link_ico01.webp");
    opacity: 0; /* 最初は隠しておく */
}


.rec_wrap .wrap_inner .rec_link_area ul.link_list li:nth-child(2) a::before,
.rec_wrap .wrap_inner .rec_link_area ul.link_list li:nth-child(2) a::after {
    background-size: 100% auto;
	width: 19.29%;/*60*/
    height: auto;
    aspect-ratio: 60 / 39;
}

/* 通常時の before */
.rec_wrap .wrap_inner .rec_link_area ul.link_list li:nth-child(2) a::before {
    background-image: url("images2026/top/rec_link_ico02.webp");
    opacity: 1;
}

/* ホバー時の after */
.rec_wrap .wrap_inner .rec_link_area ul.link_list li:nth-child(2) a::after {
    background-image: url("images2026/top/hov-rec_link_ico02.webp");
    opacity: 0; /* 最初は隠しておく */
}

.rec_wrap .wrap_inner .rec_link_area ul.link_list li:nth-child(3) a::before,
.rec_wrap .wrap_inner .rec_link_area ul.link_list li:nth-child(3) a::after {
    background-size: 100% auto;
	width: 22.19%;/*69*/
    height: auto;
    aspect-ratio: 69 / 30;
	left: 9.65%;/*30*/
}

/* 通常時の before */
.rec_wrap .wrap_inner .rec_link_area ul.link_list li:nth-child(3) a::before {
    background-image: url("images2026/top/rec_link_ico03.webp");
    opacity: 1;
}

/* ホバー時の after */
.rec_wrap .wrap_inner .rec_link_area ul.link_list li:nth-child(3) a::after {
    background-image: url("images2026/top/hov-rec_link_ico03.webp");
    opacity: 0; /* 最初は隠しておく */
}


/* ホバー時の挙動 */
.rec_wrap .wrap_inner .rec_link_area ul.link_list li a:hover {
    background-color: #e5781f;
    color: #fff;
    opacity: 1;
}

/* ホバー時に before を消して after を出す */
.rec_wrap .wrap_inner .rec_link_area ul.link_list li a:hover::before {
    opacity: 0;
}

.rec_wrap .wrap_inner .rec_link_area ul.link_list li a:hover::after {
    opacity: 1;
}

/*===================================
	.access_wrap
=====================================*/

.access_wrap{
	padding: 96px 0 84px;
	position: relative;
}

.access_wrap .wrap_inner{
	width: 100%;
	max-width: 1150px;
	padding: 0 25px;
	box-sizing: border-box;
	margin: 0 auto;
	position: relative;
}

body.large-text .access_wrap .wrap_inner{
	max-width: 1438px;
}

.access_wrap .wrap_inner .flex_area{
	width: 100%;
	display: flex;
	justify-content: space-between;
	position: relative;
}

.access_wrap .wrap_inner .flex_area::before{
	content: '';
	background: url("images2026/top/acc_parts01.webp")no-repeat;
	background-size: 100% auto;
	width: 57.64%;/*634*/
	height: auto;
	aspect-ratio: 1 / 1;
	position: absolute;
	top: 44px;
	right: 4.82%;/*53*/
	z-index: -1;
}

.access_wrap .wrap_inner .flex_area .left_area{
	width: 45.45%;/*500*/
	margin-top: 17px;
}

.access_wrap .wrap_inner .flex_area .left_area .top_midashi_area h2.jp_midashi{
	margin-top: 23px;
}

.access_wrap .wrap_inner .flex_area .left_area p.add_txt{
	margin: 25px 0 0 10.8%;/*54*/
	font-size: 150%;/*18*/
	line-height: 1;
	letter-spacing: 0.05em;
	color: #4d4d4d;
}

.access_wrap .wrap_inner .flex_area ul.acc_list{
	width: 100%;
	list-style: none;
	margin: 65px 0 0 10.0%;/*50*/
}

.access_wrap .wrap_inner .flex_area ul.acc_list li{
	width: 100%;
}

.access_wrap .wrap_inner .flex_area ul.acc_list li + li{
	margin-top: 30px;
}

.access_wrap .wrap_inner .flex_area ul.acc_list li p{
	padding-left: 4.0%;/*20*/
	box-sizing: border-box;
	font-size: 133.33%;
	line-height: 1.88;
	letter-spacing: 0.05em;
	color: #4d4d4d;
	text-align: justify;
	position: relative;
}

.access_wrap .wrap_inner .flex_area ul.acc_list li p::before{
	content: '';
	background: #39ad4a;
	width: 2.2%;/*11*/
	height: auto;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	position: absolute;
	top: 10px;
	left: 1.0%;/*5*/
	z-index: 1;
}

.access_wrap .wrap_inner .flex_area ul.acc_list li .acc_btn{
	width: 77.0%;/*385*/
	margin: 30px 0 10px 1.0%;/*5*/
}

.access_wrap .wrap_inner .flex_area ul.acc_list li .acc_btn a{
	display: flex;
	align-items: center;
	width: 100%;
	height: 47px;
	border-radius: 20px;
	background-color: #39ad4a;
	background-image: url("images2026/common/common_link_ico01.svg");
	background-repeat: no-repeat;
	background-size: 5.19% auto;/*20*/
	background-position: right 4.68% center;/*18*/
	padding-left: 5.45%;/*21*/
	box-sizing: border-box;
	box-shadow: 0 0 5px rgba(116, 160, 178, 0.45);
	font-size: 125%;/*15*/
	line-height: 1;
	color: #fff;
}

.access_wrap .wrap_inner .flex_area ul.acc_list li .acc_btn a:hover{
	background-color: #fff;
	color: #008a45;
	opacity: 1;
}

.access_wrap .wrap_inner .flex_area .map_area{
	width: 71.36%;/*785*/
	height: auto;
	aspect-ratio: 785 / 488;
	border-radius: 20px;
	overflow: hidden;
	position: absolute;
	top: 0;
	right: -17.27%;/*-190*/
	z-index: 1;
}

.access_wrap .wrap_inner .flex_area .map_area iframe{
	width: 100%;
	height: 100%;
}

/*===================================
	.slide_wrap
=====================================*/

.slide_wrap{
	padding: 48px 0 29px;
	position: relative;
}

.slide_wrap::before{
	content: '';
	background: #f9f9f9;
	width: 100%;
	height: 61px;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}

.slide_wrap .wrap_inner{
	width: 100%;
	max-width: 1150px;
	padding: 0 25px;
	box-sizing: border-box;
	margin: 0 auto;
	position: relative;
}

.slide_wrap .wrap_inner h3.sub_midashi{
	font-size: 133.33%;/*16*/
	line-height: 1;
	color: #39ad4a;
	text-align: center;
}

.slide_wrap .wrap_inner .slider{
	width: 90.91%;/*1000*/
	margin: 35px auto 0;
}

/* スライド要素自体に左右の余白を設定 */
.slide_wrap .wrap_inner .slider .slick-slide {
    margin: 0 0.65rem; /* ここで余白の幅を調整（例：10px） */
}

/* スライダー全体の左右の余白を相殺する */
.slide_wrap .wrap_inner .slider .slick-list {
    margin: 0 -0.65rem; /* marginのマイナス値を上記の左右の数値と合わせる */
}

/* デフォルトのフォントアイコンを非表示 */
.slide_wrap .wrap_inner .slider .slick-prev:before, 
.slide_wrap .wrap_inner .slider .slick-next:before {
    content: none !important; /* display: none より確実 */
}

/* 矢印ボタンの強制上書き */
.slide_wrap .wrap_inner .slider .slick-prev, 
.slide_wrap .wrap_inner .slider .slick-next {
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    width: 20px !important;  /* emではなくpxで一度固定して試してください */
    height: auto!important;
	aspect-ratio: 20 / 19 !important;
    display: block !important;
    opacity: 1 !important; /* 透明度による非表示を防ぐ */
}

/* 個別の背景画像指定 */
.slide_wrap .wrap_inner .slider .slick-prev {
    background-image: url('images2026/top/slick_prev.webp') !important;
	left: -44px !important;
}

.slide_wrap .wrap_inner .slider .slick-next {
    background-image: url('images2026/top/slick_next.webp') !important;
	right: -44px !important;
}

/*===================================
	.blog_wrap
=====================================*/

.blog_wrap{
	padding: 55px 0 82px;
}

.blog_wrap .wrap_inner{
	width: 100%;
	max-width: 1050px;
	padding: 0 25px;
	box-sizing: border-box;
	margin: 0 auto;
	position: relative;
}

.blog_wrap .wrap_inner h3.sub_midashi{
	font-size: 133.33%;/*16*/
	line-height: 1;
	color: #39ad4a;
	text-align: center;
}

.blog_wrap .wrap_inner ul.blog_list{
	width: 100%;
	margin-top: 37px;
	list-style: none;
	display: flex;
	justify-content: center;
	gap: 0 1.33%;
}

.blog_wrap .wrap_inner ul.blog_list li{
	width: 24.0%;
}

.blog_wrap .wrap_inner ul.blog_list li img{
	width: 100%;
	height: auto;
}
