@charset "utf-8";

body::before { display: none; }


.top_h_wrap { margin-bottom: 40px; }
.top_h_wrap h2 { font-size: 48px; margin-bottom: 24px; }
@media ( max-width: 767px ) {
    .contents_wrap .bg_alternate:nth-child(2n+1) { background: #ECE5DC; }
}
@media ( min-width: 768px ) {
    .top_h_wrap { margin-bottom: 80px; }
    .top_h_wrap h2 { font-size: 80px; margin-bottom: 40px; }
}
@media ( min-width: 1025px ) {
    .header_logo_link { height: 120px; margin-bottom: -84px; }
    .header_logo_img.header_logo_h { opacity: 0; }
    .header_logo_img.header_logo_v { opacity: 1; height: 140px; }
    .header_logo_img.header_logo_jp { opacity: 1; height: 22px; }
    .header_logo_caption { display: none; }
}



/*＝＝＝＝＝＝＝＝＝ FV ＝＝＝＝＝＝＝＝＝*/
.top_fv { position: relative; display: block; width: 100vw; height: calc(65.6vw + 120px); margin-top: 40px; z-index: 3; }
.fv_text { position: absolute; bottom: 0; left: max(5vw,calc(50vw - 600px)); font-size: 24px; z-index: 1;}

.fv_text_hop_char { display: inline-block; animation: fv_text_hop .75s ease-out both; }
.fv_text_hop_1 { animation-delay: 0s; }
.fv_text_hop_2 { animation-delay: .225s; }
.fv_text_hop_3 { animation-delay: .45s; }
.fv_text_hop_ka { animation: fv_text_hop_ka .75s linear both; animation-delay: .675s; }
.fv_text_fade { display: inline-block; opacity: 0; animation: fv_text_fade_in .9s ease-out forwards; animation-delay: 1.425s; }
@keyframes fv_text_hop {
    0%   { transform: translateY(0); }
    35%  { transform: translateY(-0.4em); }
    65%  { transform: translateY(0.08em); }
    100% { transform: translateY(0); }
}
@keyframes fv_text_hop_ka {
    0%   { transform: translate(-2.20em, 0em); }
    10%  { transform: translate(-1.98em, -0.198em); }
    20%  { transform: translate(-1.76em, -0.352em); }
    30%  { transform: translate(-1.54em, -0.462em); }
    40%  { transform: translate(-1.32em, -0.528em); }
    50%  { transform: translate(-1.10em, -0.55em); }
    60%  { transform: translate(-0.88em, -0.528em); }
    70%  { transform: translate(-0.66em, -0.462em); }
    80%  { transform: translate(-0.44em, -0.352em); }
    90%  { transform: translate(-0.22em, -0.198em); }
    100% { transform: translate(0em, 0em); }
}
@keyframes fv_text_fade_in {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@media ( prefers-reduced-motion: reduce ) {
    .fv_text_hop_char, .fv_text_fade { animation: none; opacity: 1; transform: none; }
}

.fv_deer_l { display: none; }
.fv_deer_r { position: absolute; bottom: -60px; right: 0; z-index: -1; }
.fv_base_wrap { position: absolute; top: 0; right: -10vw; width: 105vw; }
.fv_base_img  { display: block; width: 100%;  }

.fv_move_img_wrap { position: absolute; top: 0; left: 0; width: 100%; padding-top: 65.6%; /* 1312 / 2000 */}
.fv_move_img { position: absolute; top: 0; left: 0; }
/*----- y座標・x座標・画像の横幅 -----*/
/* 空 */
.fv_move_rainbow        { top: calc(30 / 1312 * 100%); left: calc(270 / 2000 * 100%); width: calc(525 / 2000 * 100%); }
.fv_move_cloud1         { top: calc(0 / 1312 * 100%); left: calc(900 / 2000 * 100%); width: calc(231 / 2000 * 100%); }
.fv_move_cloud2         { top: calc(80 / 1312 * 100%); left: calc(1330 / 2000 * 100%); width: calc(160 / 2000 * 100%); }
.fv_move_cloud3         { top: calc(20 / 1312 * 100%); left: calc(1570 / 2000 * 100%); width: calc(191 / 2000 * 100%); }
.fv_move_cloud1 img,.fv_move_cloud2 img,.fv_move_cloud3 img { display: block; width: 100%; }
/* 乗り物 */
.fv_move_train          { top: calc(320 / 1312 * 100%); left: calc(509 / 2000 * 100%); width: calc(255 / 2000 * 100%); aspect-ratio: 600/350; overflow: hidden; }
.fv_move_train_part1    { position: absolute; top: calc(-70 / 255 * 60 / 35 * 100%); left: calc(260 / 255 * 100%);width: 100%; }
.fv_move_train_foreground { position: absolute; top: 0; left: 0; width: 100%; }
.fv_move_car          { top: calc(700 / 1312 * 100%); left: calc(1020 / 2000 * 100%); width: calc(295 / 2000 * 100%); aspect-ratio: 4/2; overflow: hidden; }
.fv_move_car_part1    { position: absolute; top: calc(50 / 295 / 2 * 100%); left: calc(290 / 295 * 100%); width: 60%; }
.fv_move_car_part2    { position: absolute; top: calc(330 / 295 / 2 * 100%); left: calc(-10 / 295 * 100%); width: 30%; }
.fv_move_car_foreground { position: absolute; top: 0; left: 0; width: 100%; }
.fv_move_plane          { top: calc(1000 / 1312 * 100%); left: calc(1540 / 2000 * 100%); width: calc(231 / 2000 * 100%); }
.fv_move_plane img      { display: block; width: 100%; }
/* 子供 */
.fv_move_child_ball     { top: calc(350 / 1312 * 100%); left:  calc(900 / 2000 * 100%); width: calc(17 / 2000 * 100%); }
.fv_move_child1         { top: calc(340 / 1312 * 100%); left:  calc(840 / 2000 * 100%); width: calc(68 / 2000 * 100%); }
.fv_move_child2         { top: calc(370 / 1312 * 100%); left:  calc(890 / 2000 * 100%); width: calc(71 / 2000 * 100%); }
.fv_move_child3         { top: calc(360 / 1312 * 100%); left:  calc(970 / 2000 * 100%); width: calc(76 / 2000 * 100%); }
.fv_move_child4         { top: calc(330 / 1312 * 100%); left:  calc(1040 / 2000 * 100%); width: calc(71 / 2000 * 100%); }
/* 家族 */
.fv_move_family_baby    { top: calc(260 / 1312 * 100%); left: calc(70 / 2000 * 100%); width: calc(98 / 2000 * 100%); }
.fv_move_family_balloon { top: calc(170 / 1312 * 100%); left: calc(1410 / 2000 * 100%); width: calc(150 / 2000 * 100%); }
.fv_move_family_child   { top: calc(1070 / 1312 * 100%); left: calc(960 / 2000 * 100%); width: calc(222 / 2000 * 100%); }
.fv_move_family_dog     { top: calc(590 / 1312 * 100%); left: calc(190 / 2000 * 100%); width: calc(145 / 2000 * 100%); }
.fv_move_family_old     { top: calc(1100 / 1312 * 100%); left: calc(1350 / 2000 * 100%); width: calc(85 / 2000 * 100%); }
/* 観光 */
.fv_move_tourist1       { top: calc(410 / 1312 * 100%); left: calc(1690/ 2000 * 100%); width: calc(130 / 2000 * 100%); }
.fv_move_tourist2       { top: calc(620 / 1312 * 100%); left: calc(1480 / 2000 * 100%); width: calc(133 / 2000 * 100%); }
/* 営業 */
.fv_sales_base          { display: block; width: 100%; }
.fv_sales_part          { position: absolute; }
.fv_move_sales_desk     { top: calc(400 / 1312 * 100%); left: calc(150 / 2000 * 100%); width: calc(189 / 2000 * 100%); }
.fv_move_sales_desk_part1 { top: calc(15 / 132 * 100%); left: calc(135 / 189 * 100%); width: calc(52 / 189 * 100%); }
.fv_move_sales_desk_part2 { top: calc(2  / 132 * 100%); left: calc(40  / 189 * 100%); width: calc(25 / 189 * 100%); }
.fv_move_sales_desk_part3 { top: calc(15 / 132 * 100%); left: calc(12  / 189 * 100%); width: calc(28 / 189 * 100%); }
.fv_move_sales_appraise { top: calc(1000 / 1312 * 100%); left: calc(1130 / 2000 * 100%); width: calc(109 / 2000 * 100%); }
.fv_move_sales_appraise_part1 { top: calc(12 / 100 * 100%); left: calc(22 / 109 * 100%); width: calc(25 / 109 * 100%); z-index: -1; }
.fv_move_sales_appraise_part2 { top: calc(0 / 100 * 100%); left: calc(84 / 109 * 100%); width: calc(26 / 109 * 100%); }
.fv_move_sales_guide    { top: calc(990 / 1312 * 100%); left: calc(650 / 2000 * 100%); width: calc(174 / 2000 * 100%); }
.fv_move_sales_guide_part1    { top: calc(12 / 100 * 100%); left: calc(94 / 174 * 100%); width: calc(44 / 174 * 100%); }
.fv_move_sales_guide_part2    { top: calc( 0 / 100 * 100%); left: calc( 8 / 174 * 100%); width: calc(25 / 174 * 100%); }
.fv_move_sales_guide_part3    { top: calc(13 / 100 * 100%); left: calc( 42 / 174 * 100%); width: calc(36 / 174 * 100%); }
/*----- アニメーション keyframes -----*/
/* 虹 */
.fv_move_rainbow { mix-blend-mode: multiply; transform-origin: center center; animation: fv_rainbow 8s ease-in-out infinite; }
@keyframes fv_rainbow {
    0%,100%   { transform: scale(0.80); opacity: 0.50; }
    50%  { transform: scale(1.20); opacity: 1.00; }
}
/* 雲 */
.fv_move_cloud1 { animation: fv_cloud1_move 6s linear infinite; animation-delay: 0s; }
.fv_move_cloud2 { animation: fv_cloud2_move 6s linear infinite; animation-delay: -2s; }
.fv_move_cloud3 { animation: fv_cloud3_move 6s linear infinite; animation-delay: -4s; }
.fv_move_cloud1 img { animation: fv_cloud_float1 4s ease-in-out infinite; }
.fv_move_cloud2 img { animation: fv_cloud_float2 4s ease-in-out infinite; animation-delay: -2s; }
.fv_move_cloud3 img { animation: fv_cloud_float3 4s ease-in-out infinite; animation-delay: -3s; }
@keyframes fv_cloud1_move {
    0%   { transform: translateX(-50%); opacity: 0; }
    10%  { transform: translateX(-40%); opacity: 1; }
    90%  { transform: translateX(40%); opacity: 1; }
    100% { transform: translateX(50%); opacity: 0; }
}
@keyframes fv_cloud2_move {
    0%   { transform: translateX(-50%); opacity: 0; }
    10%  { transform: translateX(-40%); opacity: 1; }
    90%  { transform: translateX(40%); opacity: 1; }
    100% { transform: translateX(50%); opacity: 0; }
}
@keyframes fv_cloud3_move {
    0%   { transform: translateX(-50%); opacity: 0; }
    10%  { transform: translateX(-40%); opacity: 1; }
    90%  { transform: translateX(40%); opacity: 1; }
    100% { transform: translateX(50%); opacity: 0; }
}
@keyframes fv_cloud_float1 {
    0%, 100% { transform: scale(1.00); }
    50%      { transform: scale(1.15); }
}
@keyframes fv_cloud_float2 {
    0%, 100% { transform: scale(1.00); }
    50%      { transform: scale(1.09); }
}
@keyframes fv_cloud_float3 {
    0%, 100% { transform: scale(1.00); }
    50%      { transform: scale(1.12); }
}
/* 電車 */
.fv_move_train_part1    { animation: fv_train_part1 10s linear infinite; animation-delay: 2s; }
@keyframes fv_train_part1 {
    0%   { top: calc(-70 / 255 * 60 / 35 * 100%); left: calc(260 / 255 * 100%); width: 100%;  animation-timing-function: ease-out; }
    20%  { top: calc(-10 / 255 * 60 / 35 * 100%); left: calc(50  / 255 * 100%); width: 110%; }
    40%  { top: calc(-10 / 255 * 60 / 35 * 100%); left: calc(50  / 255 * 100%); width: 110%; animation-timing-function: ease-in; }
    80%  { top: calc(130 / 255 * 60 / 35 * 100%); left: calc(-340 / 255 * 100%); width: 130%; animation-timing-function: step-end; }
    100% { top: calc(-70 / 255 * 60 / 35 * 100%); left: calc(260 / 255 * 100%); width: 100%; }
}
/* 車 */
.fv_move_car_part1  { animation: fv_car_part1 12s linear infinite; animation-delay: -1s; }
.fv_move_car_part2  { animation: fv_car_part2 9s linear infinite; animation-delay: -2s;  }
@keyframes fv_car_part1 {
    0%   { left: calc(290 / 295 * 100%); }
    60%  { left: calc(-220 / 295 * 100%); animation-timing-function: step-end; }
    100% { left: calc(290 / 295 * 100%); }
}
@keyframes fv_car_part2 {
    0%   { left: calc(-10 / 295 * 100%); }
    60%  { left: calc(280 / 295 * 100%);  animation-timing-function: step-end; }
    100% { left: calc(-10 / 295 * 100%); }
}
/* 飛行機 */
.fv_move_plane          { animation: fv_plane_move 18s linear infinite; }
.fv_move_plane img      { animation: fv_plane_fade 18s linear infinite; }
@keyframes fv_plane_move {
    0%,100% { transform: translate(120%, 0%);      animation-timing-function: cubic-bezier(0, 0.5, 0.3, 1); }
    15%     { transform: translate(0%,   0%);      animation-timing-function: linear; }
    45%     { transform: translate(0%,   0%);      animation-timing-function: cubic-bezier(0.4, 0, 0.7, 0.4); }
    75%     { transform: translate(-400%, -600%); }
}
@keyframes fv_plane_fade {
    0%,100% { opacity: 0; }
    5%      { opacity: 1; }
    55%     { opacity: 1; }
    75%     { opacity: 0; }
}
/* 子供 */
.fv_move_child_ball { animation: fv_ball 6.0s linear infinite; animation-delay: 0.2s; }
.fv_move_child1 { transform-origin: bottom center; animation: fv_child1_jump 6.0s linear infinite; animation-delay: 0s; }
.fv_move_child2 { transform-origin: bottom center; animation: fv_child2_jump 6.0s linear infinite; animation-delay: 0s; }
.fv_move_child3 { transform-origin: bottom center; animation: fv_child3_jump 6.0s linear infinite; animation-delay: 0s; }
.fv_move_child4 { transform-origin: bottom center; animation: fv_child4_jump 6.0s linear infinite; animation-delay: 0s; }
@keyframes fv_child1_jump {
    0%   { transform: translateY(0);     animation-timing-function: cubic-bezier(0.5, 1, 0.89, 1); }
    2%   { transform: translateY(-5px); animation-timing-function: cubic-bezier(0.11, 0, 0.5, 0); }
    4%,100% { transform: translateY(0); }
}
@keyframes fv_child3_jump {
    0%,25%  { transform: translateY(0); }
    25%  { animation-timing-function: cubic-bezier(0.5, 1, 0.89, 1); }
    27%  { transform: translateY(-5px); animation-timing-function: cubic-bezier(0.11, 0, 0.5, 0); }
    29%,100% { transform: translateY(0); }
}
@keyframes fv_child2_jump {
    0%,50%  { transform: translateY(0); }
    50%  { animation-timing-function: cubic-bezier(0.5, 1, 0.89, 1); }
    52%  { transform: translateY(-5px); animation-timing-function: cubic-bezier(0.11, 0, 0.5, 0); }
    54%,100% { transform: translateY(0); }
}
@keyframes fv_child4_jump {
    0%,75%  { transform: translateY(0); }
    75%  { animation-timing-function: cubic-bezier(0.5, 1, 0.89, 1); }
    77%  { transform: translateY(-5px); animation-timing-function: cubic-bezier(0.11, 0, 0.5, 0); }
    79%,100% { transform: translateY(0); }
}
@keyframes fv_ball {
    0%    { transform: translate(0, 0);         animation-timing-function: ease-out; }
    25%   { transform: translate(400%, 30%);    animation-timing-function: ease-out; }
    50%   { transform: translate(220%, 120%);   animation-timing-function: ease-out; }
    75%   { transform: translate(800%, -100%);  animation-timing-function: ease-out; }
    100%  { transform: translate(0, 0);         animation-timing-function: ease-out; }
}
/* 家族・観光 */
.fv_move_family_baby    { transform-origin: bottom center; animation: fv_sway 5.0s ease-in-out infinite; animation-delay:  0.0s; }
.fv_move_family_balloon { transform-origin: bottom center; animation: fv_sway 7.5s ease-in-out infinite; animation-delay: -1.5s; }
.fv_move_family_child   { transform-origin: bottom center; animation: fv_sway 4.5s ease-in-out infinite; animation-delay: -3.2s; }
.fv_move_family_old     { transform-origin: bottom center; animation: fv_sway 6.0s ease-in-out infinite; animation-delay: -2.0s; }
@keyframes fv_sway {
    0%, 100% { transform: rotate(-3deg) translateX(-5px); }
    50%      { transform: rotate( 3deg) translateX(5px); }
}
.fv_move_family_dog { transform-origin: bottom center; animation: fv_jump_dog 4.2s ease-in-out infinite; animation-delay:  0.0s; }
.fv_move_tourist1   { transform-origin: bottom center; animation: fv_jump_t1  3.7s ease-in-out infinite; animation-delay: -2.8s; }
.fv_move_tourist2   { transform-origin: bottom center; animation: fv_jump_t2  5.3s ease-in-out infinite; animation-delay: -1.4s; }
@keyframes fv_jump_dog {
    0%, 10%, 50%, 58%, 64%, 100% { transform: translateY(0); }
    5%, 54%, 62%                 { transform: translateY(-5px); }
}
@keyframes fv_jump_t1 {
    0%, 10%, 100% { transform: translateY(0); }
    5%            { transform: translateY(-5px); }
}
@keyframes fv_jump_t2 {
    0%, 10%, 100% { transform: translateY(0); }
    5%            { transform: translateY(-5px); }
    20%, 80%      { transform: translate(0px, 0px); }
    35%           { transform: rotate(-1deg) translateX(-3px); }
    65%           { transform: rotate( 1deg) translateX(3px); }
}
/* 営業（机） */
.fv_move_sales_desk       { transform-origin: center bottom; animation: fv_desk_pulse 4s ease-in-out infinite; }
@keyframes fv_desk_pulse {
    0%, 60%, 100% { transform: scale(1.15); }
    25%           { transform: scale(1.20); }
}
.fv_move_sales_desk_part1 { transform-origin: 84% 89%;  animation: fv_desk_part1 4.0s linear infinite; }
.fv_move_sales_desk_part2 { transform-origin: bottom left;   animation: fv_desk_part23 3.5s ease-in-out infinite; }
.fv_move_sales_desk_part3 { transform-origin: bottom left;   animation: fv_desk_part23 4.5s ease-in-out infinite; animation-delay: -1.5s; }
@keyframes fv_desk_part1 {
    0%   { transform: rotate(  0deg); animation-timing-function: ease-in-out; }
    15%  { transform: rotate(-8deg); animation-timing-function: ease-in-out; }
    30%  { transform: rotate(  4deg); animation-timing-function: ease-in-out; }
    45%  { transform: rotate(-4deg); animation-timing-function: ease-in-out; }
    60%  { transform: rotate(  8deg); animation-timing-function: linear; }
    100% { transform: rotate(  0deg); }
}
@keyframes fv_desk_part23 {
    0%, 40%, 100% { transform: rotate(-10deg); }
    70%           { transform: rotate( 7deg); }
}
/* 営業（査定） */
.fv_move_sales_appraise       { transform-origin: center bottom; animation: fv_appraise_pulse 4s ease-in-out infinite; }
@keyframes fv_appraise_pulse {
    0%, 60%, 100% { transform: scale(1.15); }
    25%           { transform: scale(1.20); }
}
.fv_move_sales_appraise_part1 { transform-origin: 0% 77%;  animation: fv_appraise_part1 3.5s linear infinite; }
.fv_move_sales_appraise_part2 { transform-origin: 68% 82%; animation: fv_appraise_part2 5.0s ease-in-out infinite; }
@keyframes fv_appraise_part1 {
    0%   { transform: rotate(  6deg); animation-timing-function: ease-in-out; }
    15%  { transform: rotate( -6deg); animation-timing-function: ease-in-out; }
    30%  { transform: rotate( 12deg); animation-timing-function: ease-in-out; }
    45%  { transform: rotate(  0deg); animation-timing-function: ease-in-out; }
    60%  { transform: rotate( 18deg); animation-timing-function: linear; }
    100% { transform: rotate(  6deg); }
}
@keyframes fv_appraise_part2 {
    0%, 70%, 72%, 86%, 100% { transform: rotate(  6deg); }
    35%                     { transform: rotate(-30deg); }
    79%, 93%                { transform: rotate(-10deg); }
}
/* 営業（案内） */
.fv_move_sales_guide          { transform-origin: center bottom; animation: fv_guide_pulse 4s ease-in-out infinite; }
@keyframes fv_guide_pulse {
    0%, 60%, 100% { transform: scale(1.15); }
    25%           { transform: scale(1.20); }
}
.fv_move_sales_guide_part1    { transform-origin: 96% 58%;  animation: fv_guide_part1 3.5s linear infinite; }
.fv_move_sales_guide_part2    { transform-origin: 20% 100%; animation: fv_guide_part23 3.0s ease-in-out infinite; }
.fv_move_sales_guide_part3    { transform-origin: 46% 59%;  animation: fv_guide_part23 4.0s ease-in-out infinite; animation-delay: -1.5s; }
@keyframes fv_guide_part1 {
    0%   { transform: rotate( -6deg); animation-timing-function: ease-in-out; }
    15%  { transform: rotate(-22deg); animation-timing-function: ease-in-out; }
    30%  { transform: rotate(  2deg); animation-timing-function: ease-in-out; }
    45%  { transform: rotate(-14deg); animation-timing-function: ease-in-out; }
    60%  { transform: rotate( 10deg); animation-timing-function: linear; }
    100% { transform: rotate( -6deg); }
}
@keyframes fv_guide_part23 {
    0%, 40%, 100% { transform: rotate(-12deg); }
    70%           { transform: rotate(  8deg); }
}

/*----- レスポンシブ -----*/
@media ( min-width: 500px ) {
    .top_fv { height: calc(65.6vw + 112px); }
    .fv_text { font-size: 28px; }
    .fv_deer_l { position: absolute; bottom: 110px; left: 0; right: auto; display: block; z-index: -1; }
    .fv_deer_r { display: none; }
}
@media ( min-width: 768px ) {
    .top_fv { height: calc(59.04vw + 56px); }
    .fv_deer_l { bottom: 40px; }
    .fv_base_wrap { right: 0; width: 90vw; }
}
@media ( min-width: 1025px ) {
    .top_fv { height: calc(min(52.48vw,734.72px) - 64px); max-height: 788.8px; }
    .fv_text { font-size: 32px; }
    .fv_base_wrap { width: min(80vw,calc(50vw + 420px)); max-width: 1300px; }
}
@media ( min-width: 1200px ) {
    .top_fv { height: calc(min(52.48vw,734.72px) - 128px); max-height: 724.8px; }
    .fv_deer_l { bottom: -40px; }
}
@media ( min-width: 1800px ) {
    .top_fv {height: 560px;}
}
@media ( min-width: 1950px ) {
    .top_fv {height: 420px;}
}



/*＝＝＝＝＝＝＝＝＝caption＝＝＝＝＝＝＝＝＝*/
.top_caption_sec { position: relative; z-index: 2; }
.top_caption_sec .btn_to_company { margin-top: 40px; }
/* Google口コミ */
.google_review_sec { position: relative; width: fit-content; margin: 60px 0 0 auto; }
@media ( min-width: 550px ) {
    .google_review_sec { margin-top: -48px; }
}
@media ( min-width: 1025px ) {
    .google_review_sec { margin-bottom: -140px; margin-right: min(calc(60px - 5vw), calc(660px - 50vw)); transform: translateY(-100px); }
}
@media ( min-width: 1950px ) {
    .google_review_sec { transform: translateY(60px); }
}



/*＝＝＝＝＝＝＝＝＝service＝＝＝＝＝＝＝＝＝*/
.top_service_area { margin-top: 8px; }
.top_service_area_label, .top_service_area_list span { display: block; }
/* 区名の途中では改行しない（「・」のあとで改行する） */
.top_service_area_list { word-break: keep-all; text-align: left; }
.service_btn_wrap { display: flex; flex-direction: column; gap: 24px; }
@media ( min-width: 440px ) and ( max-width: 767px ) {
    .service_btn_wrap .btn_card { flex-direction: row; justify-content: space-between; gap: 24px; }
    .service_btn_wrap .btn_card .btn_card_text { flex-grow: 1; justify-content: space-between; }
}
@media ( min-width: 768px ) {
    .top_service_area { display: flex; }
    .top_service_area_label { flex-shrink: 0; }
    .top_service_sec { position: relative; padding-top: 0; z-index: 1; }
    .top_service_sec::before { content: ''; position: absolute; bottom: 0; right: calc(50% - 50vw); display: block; width: calc(40% + 50vw); height: calc(100% - 40px); border-top-left-radius: 1000px; border-bottom-left-radius: 1000px; background: #ECE5DC; z-index: -1; }
    .service_btn_wrap { display: flex; flex-direction: row; gap: 24px; }
    .service_btn_wrap .btn_card { flex: 1; padding-left: 0; padding-right: 0; }
}



/*＝＝＝＝＝＝＝＝＝office＝＝＝＝＝＝＝＝＝*/
.office_img_wrap { margin-top: 100px; }
.office_deer_wrap { position: absolute; top: -80px; left: 0; z-index: 1; }
.office_deer_bubble { top: 24px; left: 40px; }
.office_img_outer { position: relative; }
.office_img_container { width: calc(50% + 50vw); height: 180px; margin-bottom: 40px; overflow: hidden; }
.office_img_outer:nth-child(1) .office_img_container { margin-left: auto; margin-right: calc(50% - 50vw); border-top-left-radius: 1000px; border-bottom-left-radius: 1000px; opacity: 0.8; }
.office_img_outer:nth-child(2) .office_img_container { margin-right: auto; margin-left: calc(50% - 50vw); border-top-right-radius: 1000px; border-bottom-right-radius: 1000px; }
.office_img { width: 100%; height: 100%; object-fit: cover; }
.office_img_en { position: absolute; bottom: -0.5em; color: #DECFBF; font-size: 32px; z-index: 1; }
.office_img_outer:nth-child(1) .office_img_en { right: 0; }
.office_img_outer:nth-child(2) .office_img_en { left: 0; }
@media ( max-width: 767px ) {
    .office_deer_bubble { top: -12px; left: 20px; }
    .btn_to_office { margin: 0 auto; }
}
@media ( min-width: 600px ) and ( max-width: 767px ) {
    .office_img_container { height: 240px;}
}
@media ( min-width: 768px ) {
    .top_office_sec { position: relative; }
    .office_img_wrap { margin-top: 0px; }
    .office_deer_wrap { top: 40px; }
    .office_img_container { width: calc(50vw + 10%); height: 300px; margin-bottom: 0; }
    .office_img_outer:nth-child(2) .office_img_container { margin-top: -80px; margin-left: 0; border-radius: 1000px; }
    .office_img_en { font-size: 60px; }
    .office_img_outer:nth-child(1) .office_img_en { top: -0.5em; bottom: auto; right: calc(50% - 50vw); }
    .office_img_outer:nth-child(2) .office_img_en { left: 0vw; }
    .btn_to_office { position: absolute; top: 290px; right: 0; }
}
@media ( min-width: 1025px ) {
    .office_img_wrap { margin-top: -160px; }
    .office_deer_wrap { top: -80px; left: 50%; }
    .office_img_container { height: 380px; }
    .office_img_outer:nth-child(1) .office_img_en { top: auto; bottom: -0.5em; }
    .btn_to_office { top: 420px; left: 0; right: auto; }
}
@media ( min-width: 1200px ) {
    .office_img_wrap { margin-top: -180px; }
    .office_deer_wrap { top: 140px; left: 30%; }
    .office_img_container { height: 400px; }
}
@media ( min-width: 1334px ) {
    .bg_alternate:has(.top_service_sec),
    .bg_alternate:has(.top_office_sec) { overflow: hidden; }
    .office_img_outer:nth-child(1) .office_img_container { width: 987px; margin-left: 40%; margin-right: 0; border-top-right-radius: 1000px; border-bottom-right-radius: 1000px; }
    .office_img_outer:nth-child(2) .office_img_container { max-width: 987px; }
    .office_img_outer:nth-child(1) .office_img_en { right: max(-267px, calc(50% - 50vw)); }
}



/*＝＝＝＝＝＝＝＝＝staff＝＝＝＝＝＝＝＝＝*/
.staff_img_container { width: 100%; aspect-ratio: 2/1; max-height: 460px; margin-bottom: 40px; border-radius: 8px; overflow: hidden; }
.staff_img { width: 100%; height: 100%; object-fit: cover; }
.btn_to_staff { margin: 0 auto; }
@media ( min-width: 768px ) {
    .top_staff_sec { position: relative; padding: 0; z-index: 1; }
    .top_staff_sec::before { content: ''; position: absolute; top: 40px; bottom: min(22.5vw,230px); left: calc(50% - 50vw); right: calc(50% - 50vw); background: #ECE5DC; z-index: -1; }
    .staff_img_container { border-radius: 1000px; }
}
@media ( min-width: 768px ) and ( max-width: 1024px ) {
    .staff_img_container { margin-bottom: 0; }
    .btn_to_staff { position: absolute; top: 215px; right: 0; margin: 0; }
}
@media ( min-width: 1025px ) and ( max-width: 1199px ) {
    .top_staff_sec::before { bottom: calc(min(22.5vw,230px) + 128px); }
}
@media ( min-width: 1200px ) {
    .staff_img_container { margin-bottom: 0; }
    .btn_to_staff { position: absolute; top: 170px; right: 0; margin: 0; }
}



/*＝＝＝＝＝＝＝＝＝news＝＝＝＝＝＝＝＝＝*/
.news_card { position: relative; padding: 24px; border-radius: 16px; background: #FFF; }
.news_card::before { content: ''; position: absolute; top: calc(100% - 12px); right: 100px; display: block; width: 24px; aspect-ratio: 1/1; background: #FFF; border-radius: 1000px; }
.news_card::after  { content: ''; position: absolute; top: calc(100% + 12px); right: 80px; display: block; width: 12px;  aspect-ratio: 1/1; background: #FFF; border-radius: 1000px; }
.news_card_header { margin-top: -36px; }
.news_card_title { font-size: 24px; line-height: 1; }
.news_card_subtitle { font-size: 14px; }
.news_list_wrap { margin-top: 12px; }
.news_list { max-height: 70px; }
.news_item { display: flex; flex-direction: column; gap: 4px; padding: 16px 0; border-bottom: 1px solid #DECFBF; font-size: 14px; line-height: 1.6; }
.news_item:first-child { padding-top: 0; }
.news_date { font-weight: bold; }
.top_news_deer { position: relative; display: block; margin-left: auto; margin-top: -12px; z-index: 1; }
@media ( min-width: 768px ) {
    .news_card { display: flex; align-items: flex-start; gap: 60px; padding: 50px 60px; }
    .news_card::before { right: 120px; }
    .news_card::after { right: 100px; }
    .news_card_header { flex: 0 0 auto; margin-top: 0; }
    .news_card_title { font-size: 40px; }
    .news_list_wrap { flex: 1; margin-top: 0; }
    .news_list { max-height: 190px; }
    .news_item { flex-direction: row; align-items: baseline; gap: 40px; padding: 24px 0; }
    .news_date { flex: 0 0 90px; }
    .top_news_deer { margin-top: -25px; }
}



/*＝＝＝＝＝＝＝＝＝link＝＝＝＝＝＝＝＝＝*/
.link_btn_wrap { display: flex; flex-direction: column; gap: 24px; max-width: 460px; margin: 0 auto; }
.link_btn_wrap .btn_card_simple { max-width: 460px; }
@media ( min-width: 768px ) {
    .link_btn_wrap { flex-direction: row; justify-content: center; max-width: none; }
}
